Fix memory leak in generate_key wrapper. Other fixes.

- catch errors in looking for the keyring
- static_assert to prevent a buffer overrun
- remove obsolete, misleading comment
- dial down priority of some log messages
- explain why we ignore some errors
- idiomatic C++11

Bug: 27552432
Change-Id: Ic3ee05b41eae45e7c6b571a459b326a483663526
diff --git a/Keymaster.cpp b/Keymaster.cpp
index 0fde8fa..b3ece19 100644
--- a/Keymaster.cpp
+++ b/Keymaster.cpp
@@ -106,6 +106,7 @@
         return false;
     }
     key.assign(reinterpret_cast<const char *>(keyBlob.key_material), keyBlob.key_material_size);
+    free(const_cast<uint8_t *>(keyBlob.key_material));
     return true;
 }