More conventional package structure, other reorganization/formatting

Feel free to reject this without comment, as it's a large uninvited change.

I wanted to use ChatExchange as a dependency in something I was playing with. I was initially using it in a subrepo, but later wanted to specify all of my dependencies in the conventional Python way, so that they could automatically be installed when my package was installed. The unconventional structure of this package made that difficult.

These changes:
- add a `setup.py` file, with Python packaging metadata specifying this package's dependencies, and an initial version number so it can be specified *as* a dependency
- moves the three modules into a `chatexchange` package, which can be installed into a python environment, and makes their modules names more convetional (there are plenty of existing CamelCase module names, but allloweredcase is preferred for newer code).
- formatting changes to bring more in line with [PEP-8](http://legacy.python.org/dev/peps/pep-0008/) (e.g. using 4 space indentation)
- adds a initial single unimportant test, and configures Travis CI testing (see [here](https://travis-ci.org/jeremybanks/ChatExchange); you would want to enable it for you repo if you merged)
- adds a Makefile which can install dependencies, run the tests, or run the example
- renamed `test.py` to `examples/example.py`, to distuinguish it from unit tests

If you'd only like to adopt some of these changes, I can produce a trimmed-down commit. If you'd like to adopt none of them, I understand, but might keep this branch going for my own use.