Prepare CPP backend for nested interface

This refactoring allows nested interfaces to emit all interface-derived
classes (Bp/Bn/Default/etc) in a parent type.

To support nested interface types, new IMPLEMENT_META_INTERFACE variant
macro is added.

Since we don't support nested interface types at validate phase, this
doesn't change the observable behavior.

Bug: 182508839
Test: aidl_integration_test
Change-Id: I2db3f48db26d2b3d5c96de9830d8d2a1b1915f63
diff --git a/aidl_to_cpp.h b/aidl_to_cpp.h
index 620897f..eab471e 100644
--- a/aidl_to_cpp.h
+++ b/aidl_to_cpp.h
@@ -34,7 +34,7 @@
   const bool isPointer;           // whether the variable 'name' is a pointer or not
 };
 
-std::string GetTransactionIdFor(const AidlInterface& iface, const AidlMethod& method);
+std::string GetTransactionIdFor(const std::string& clazz, const AidlMethod& method);
 
 std::string CppNameOf(const AidlTypeSpecifier& type, const AidlTypenames& typenames);