[Representor] Support multiple embedded representors
Add support for conversion to/from HAL
Add support for conversion to/from Siren
Turn InputProperty into a generic type

This allows type safety in the transition builder, the following will
fail to compile due to different types:

    builder.addAttribute("name", "Kyle", 5)