Add functions allOf[T] and allOfWithHeaders[T]

These functions reflectively attempt to construct the Row type that you expect (supplied by the type parameter). They are tested to work on case classes and Tuples.

I can fathom of a better implementation for this but I wanted to get the conversation started on whether or not this is useful (I think so).

I would also like to explore if it is possible to accomplish this using macros.