Reorganized layout for packaging.

- Added setup.py .
- Added ignore file.
- Requirements update.