Port data encryption code from Brillo branch to AOSP

In an effort to keep the source code differences between AOSP and
Brillo, port Brillo-only changes back to AOSP and use conditional
compilation to only compile the Brillo source files on Brillo. This
eliminates constant merge conflicts between the branches when the
source code diverges significantly.

Change-Id: Ifec5cefe2fa25cbf3e239d829935d137abe63c01
7 files changed