Publish prep.

- setup.py
- better gitignore
- rearrange files
Prep fixes

- Be smarted with generating requirements
- Use setuptools setup, distutils commands
Merge pull request #2 from benjaminws/publish_prep

Publish prep