generator: Use Java to generate code

This change introduces a translation of the code generator from Python
to Java. This is a step towards the objective of using the same
generator for both the Python and and Java SDKs. The introduced Java
code is basically a literal translation of the existing Python code, to
the extent the differences between the two languages allow. Both
generatos generate exactly the same code, line by line.

To run the Java generator build the generator, and then use the
following commands to dowload the metadata from the server and
generate the code:

  $ mvn validate -Pupdate-metadata
  $ mvn validate -Pupdate-code

Change-Id: Ia128d1b35d371f535b95407113902da7f2931d3e
Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
(cherry picked from commit 52b00d2cecd782ae54027713cb236eb43c77578f)