Merge pull request #171 from tomaka/cleanup

Clean up implementation (step 1)
Merge pull request #172 from tomaka/cleanup-2

Clean up implementation (step 2)
Generators are now building AST
Type aliases are now using `quote_item!`
gen_enum_item now returns an ast::Item
to_rust_ty now returns a ast::Ty
Turn more code in global_gen into AST generating code