Output enums, type aliases, pointers/refs.  Change list API to allow different open & close symbols
Only apply configuration to wrappable things and declarations that actually exist
Move DeclarationIterator into a the Iterator template
TypedefDeclarations return their type from getType()
Create UnwrappableDeclarations for template specializations and other error conditions
Extract visibility / access (public, etc.) from C++ AST
Throw some errors with descriptive strings instead of just ints
Use the shared_ptr to a Declaration directly when placing it into modules, instead of passing the visitor and grabbing the pointer out of there
Hack to translate enums that are contained in structs
Properly give D-side enums their name

There should probably be a more general way to make sure that all
declarations get their names.
Some paths to determineRecordStrategy don't come through determineStrategy, so filter those out those that have already picked a strategy.
Translate visibility of methods.  Should generalize this to other declarations
Move the declaration so it can be used outside of the try block