Vibra: Adapt AOSP (default) vibrator HAL into a hardware module.

Android's implementation of vibrator needs to be done inside a
hardware module, so that it can make a vendor implementation possible.

Hw module's name becomes vibrator.default.so.

This change is related to other changes in:
 - frameworks/base
 - hardware/libhardware_legacy

Change-Id: I844279f5535289f079d412fdc44c5cb3c9c1130c
Author: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Vincent Becker <vincentx.becker@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Author-tracking-BZ: 49760 94611
keymaster: add flags indicating feature support

For wrapping the disk encryption secret, we add a flag that indicates it
can be done without having to start some storage daemon which the
trusted OS will query to get data needed to load up the keys. This
usually means that the "key blob" we store is actually just the RSA key
encrypted with the device's KEK and not a reference to an encrypted
filesystem stored on /data

Also to allow other providers to upgrade to V3 of the header, we add
flags to show whether the keymaster supports different key types. This
allows keymaster HALs to support the whole device encryption secret
wrapping without needing to implement DSA and EC key handling. The V2
header made support implicit.

Change-Id: Ic5b13e2e84dd91e7a4ae443048ecc16cc805cb97

Conflicts:

	include/hardware/keymaster.h