Fix setup

* Actually installs our packages when running setup.py
* Moves meta-data inside the package and makes it introspectable
* Includes other files inside of the distributions (not installed) to enable license discovery, and test running.
* Adds back the cffi runtime dependency