big chunk

@marianoguerra: please **do not** merge this yet.

So this is a preview of several things I did for making the setup plugin to work:

* The setup plugin itself. It writes a `setup.py` file, but is not finished, as, for instance, i hadn't finished figuring out the right way to install `pbt`'s own plugins. Yes, recursion.
* Rearranging the files in such a way:
  * The generated `setup.py` can install `pbt`. This includes converting `pbt` into a package and a binary. Also includes installing the plugins instead of installing them by hand. 
  * `pbt` can be run from the source directory. For this I had to make a `pbt.sh` that first sets up environment variables so `pbt` (the binary) finds `pbt` (the package) and the plugins.
* I'm pretty sure I'm forgetting something. Again, it's just a preview, so you can criticize it.

I will definitely try to split this in several PR when it's finished.