"Fixed" setup.py

It will most likely require a ton more work
Split these into a separate reqs.txt

This way I can ``pip install -r`` them previous to test
Adding tests suites

Only coding style for now, will come up with more tests later
80 chars lines are antiquated
Begin to reorg things around
Renamed to comply with pypi requirements
Incremental commit
I thought I'd renamed this
We need these to be included in the sdist
Sigh I guess there's no way around this

And it sort of makes sense, I just don't see much the point of repeating
snap
No way I'm forgetting to commit this baby now
Rework the setup script a bit

Because I renamed table to tablesnap. Mostly.
Move some frequently used functions to base

Some of these I will use in the other scripts and I'm trying to skip
copy/paste as much as possible
Moved these two to new style

Fully pep8 and flakes compliant. Also stripped some methods out to
base.py so this change also reflects that
Adding a third variable because things are easier

Fuck trying to come up with an elegant solution to a one-off thing.
Initial test suite
Using pip.req to better leverage requirements.txt
Inherit from main requirements instead

So I don't have to hack setup.py