[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. 
This code should be maintained.  `Expr` code should not assume that `Table` code will swoop in.