Add initial prototype

@barnabyc @flahertyb @ermanc @AdamEdgett 

Note that while the cursor supports sync, the main .patrol api does not yet support it.
And yes this code is incredibly messy.

I chose mocha because jest/jasmine has some issues running with generators

This code also requires node 0.11.x to run.
This is a good question. We need to think more about what this would mean for things like that.