refactor(xlat): add several refactorizations to the xlat library

This patch includes a number of refactorizations of the xlat library in
order to facilitate the implementation of unittests for the library.
Amongst the improvements there are:

    * Macros to allocate and initialize the translation tables as well
      as the translation context structures have been removed and
      replaced with library APIs.
    * Some of the library APIs have been collapsed, reducing the size
      of the overall interface and presenting a more compact API to
      the consumer.
    * The distinction between the translation base tables and the
      intermediate tables have been removed, presenting now a single
      array of tables for the whole translation context.

The patch also adapts the rest of RMM to use the new library API.

Signed-off-by: Javier Almansa Sobrino <javier.almansasobrino@arm.com>
Change-Id: I2fb486c0c5bc005446b09e3fef5e7de9bf0efda0
diff --git a/lib/realm/src/include/buffer_private.h b/lib/realm/src/include/buffer_private.h
index 51b0984..ccceb41 100644
--- a/lib/realm/src/include/buffer_private.h
+++ b/lib/realm/src/include/buffer_private.h
@@ -19,5 +19,5 @@
 #define SLOT_VIRT		((ULL(0xffffffffffffffff) - \
 				 RMM_SLOT_BUF_VA_SIZE + ULL(1)))
 
-struct xlat_table_entry *get_cache_entry(void);
+struct xlat_tbl_info *get_cached_tbl_info(void);
 uintptr_t slot_to_va(enum buffer_slot slot);