First stab at a selector EDSL

Issue #60 pushed me to think about a selector EDSL. This is my first stab at it.

It's still rough around the edges and I haven't played with it yet but it seems nicely expressive (especially if you make full use of the Arrow API).