[WIP] Test table api

Unfinished. Commit to get a review on changes I made to the Table constructor. For some reason types were not automatically being inferred from the call to discover(data) regardless of the kind of data. I could probably simplify this more by modifying the conditionals above the statement that I added. Relatively simply fix. 
Alright, I'll fix this.