Initial import of the Work In Progress native Go writer

- add references to gowriter.vala
- init structure. basic const and include support.
- struct and field support.
- some inline doc. don't walk methods from namespace visitor.
- refactor and pull out 'get_golang_type'.
- add test file for namespaced static functions
- add namespaced static functions support
- implement real camelcasing
- rename camelcase function
- implement structs
- add cstring conversion on field accessors/mutators.
- add enum test
- refactor to use is_string
- add class support
- add GenericClassFinder
- avoid side effects while walking nodes as much as possible
- use lambda for finalizer
- fix camelcase name conversion for names like ..._xx()
- identify, document potential bug in free_function generation (when one doesn't exist)
- refactor to reduce duplication of method parameter formatting
- add basic GoNamer for naming Go symbols
- keep moving naming stuff into GoNamer
- pass CodeNode instances instead of Go symbol names to as parameters to functions
- use GoNamer to generate Go type names
- preliminary (broken) support for generic classes
- implement specialized generic class name mangling
- add missing semicolons
- Set* methods must act on pointers, not values
- try to fix type names of namespaced types by simply chopping off the namespace
- fix formatting of enums