[PACKAGING] Generate in build_py instead of build.
[TESTS] Move tests into distribution.

Ship tests with the distribution. Simplify the setup.py.
[PACKAGING] Move ast_gen importing into a function.

Remove ast_gen from the global name space. Import and use only
within the overidden command.
[GIT] Cleanup .gitignore, organize it better.