Introduces ProxyBuilder and tests.

- ProxyBuilder is to concrete classes what java.lang.reflect.Proxy is to
  interfaces.
- Uses a builder pattern to make specifying of the various (optional)
  parameters easier.
- Creates a concrete subclass of the supplied input class whose
  implementation delegates to the given invocation handler.
- Also provides a fix for the Code#loadConstant method to allow loading
  null values.

Change-Id: I3ca6a98b91c64466df03120bc85f095365250aca
4 files changed