Moved confirmationui support library to libteeui

This patch moves functionality from the support library in
hardware/interfaces/confirmationui in libteeui.
* Move support library to the new namespace teeui
* Removed IntegerSequence and replaced it with std::index_sequence
* Remove dependency on HIDL types hidl_vec, hidl_string, and
  the Keymaster type HardwareAuthToken for the message passing between
  the TA and the HAL. To this end this patch introduces static_vec.h.
  static_vec is an alias for std::vector when compiled with
  -DTEEUI_USE_STD_VEC which it should always be compiled with in the
  context of the HAL service. Otherwise, it behaves like a span that
  does not own the underlying storage otherwise. This is the expected
  behavior when compiled in the context of the TA.
* Moved confirmationui HAL enums into the teeui namespace. It is now up to
  the HAL implementation to translate between the TA types and the hidl
  defined types.
* Separated the core logic for message formatting from the
  protocol (now generic_messages.h) and serialization functions
  for common types (now common_message_types.h).
* Add protocol specifiers to commands to allow easier extension of the
  protocols between the TA and HAL.
* NullOr was removed in favor of std::optional.

Test: keystore_cli_v2
Bug: 111446692
Bug: 111451575
Change-Id: I8a498d49593b6e382c874d08f322f572c03ddcb8
11 files changed