Rewrite the codegenerator in hy

Not sure whether this is a good idea yet. Replacing visitor pattern of
AST node visitor with singledispatch. And heavily macroed route ahead,
lets see how this goes. TODO rewrite tests
Make setup recogonize hy files
Use absolute imports
Add very very basic tests
Add singledispatch to requirements & tests