Update the setup.py script

- Update the list of dependencies
- pep8 fixes
Include a MANIFEST.in files listing which files should be present in the releases
Update the spec file to the changes made in the setup.py and directory structure