Organise requirements and .h generated files

Add a setup.py