compiler: remove unnecessary dest dir argument
codegen: add support for struct constants
codegen: add support for list constants
codegen: add support for AnyPointer default values
provide minimal support for interfaces/capabilities
codegen: fix various bugs revealed by compiling test.capnp
codegen: emit unique types globally rather than locally
codegen: emit unique type names if module naming collides
codegen: emit unique types for enums
codegen: generate enum codecs in one place

As a side-effect, this corrects enum constructor ambiguities.  The enum
codecs are located in the uniquely-named enum modules, so the naming
ambiguity goes away.
codegen: various fixes for handling List<List<T>>