vold: Support for moving crypto metadata

 * We have a situation where we need to move the crypto metadata
   from a partition footer to a new place. Add support for this.

Change-Id: I5ccc312f7f062d8a8215530957da9c6283ed7ca5
(cherry picked from commit da4c5ecfd0cfce4e784a32784731282221a6af34)
Create disk encryption key before framework start

HW based disk encryption creates key in secure side. Key creation
can take sometime to create the key securely. If framework is
started before creating the key, it is possible that framework
requests service from secure side. Secure side can serve mostly one
request at a time. Secure side may reject framework request if key
creation request is still going on. This may cause problem in the
system

Change-Id: I5480ab72a37c02532218a18faaba598a824589fd
GCC 4.8 Build Fix

Change-Id: I88a4cec56760df388cb12dd425fac021979fabb9