Updated setup.py

- Added install requirements
- flexible cmdclass