Gevent.spawn to Greenlets

Mostly this brings in the transition from gevent to greenlets, seeing as only gevent.spawn was being used. Makes testing a lot easier for travis-ci too since it doesn't have to compile gevent each time now.

Also this brings in some more basic tests to get started with.