KeyMaster: support boot,vendor patchlevels

 - Add CONFIGURE_{VENDOR,BOOT}_PATCHLEVEL messages to
   android_keymaster_messages.h
 - Add AndroidKeymaster::Configure{Vendor,Boot}Patchlevel() methods
   which forwards on to KeymasterContext::Set{Vendor,Boot}Patchevel
 - Add {Set,Get}{Vendor,Boot}Patchlevel() methods to KeymasterContext,
   with default implementations that do nothing.
 - Implement {Get,Set}{Vendor,Boot}Patchlevel() methods for
   PureSoftKeymasterContext
 - Extend CheckVersionInfo() to check vendor and boot patchlevels (if
   available) for upgrade-required.
 - Add GetVendorPatchlevel() helper to retrieve property values.
 - Add keymaster::ExtendKeyBlobAuthorizations() method to add
   {vendor,boot}_patchlevel info to key.
 - Add a keymaster::FullUpgradeSoftKeyBlob() variant of
   UpgradeSoftKeyBlob() that also checks {vendor,boot}_patchlevel if
   available.

Bug: 193423844
Test: VtsAidlKeyMintTargetTest
Change-Id: Ia311da0b8176fdd7b3c820a6c6fa11db162f1209
11 files changed