Add ability to get local columns from wrapped functions

The .local_column attribute on all wrapped tables should now work.
On wrapped functions (both tables and sources), it will evaluate the
function, store frame metadata, and return the frame columns.
Add .convert method to table source wrapper

The .convert method evaluates the wrapped function, registers the
DataFrame under the same name, and returns the new wrapped DataFrame.
add_table and add_source_table return their wrapped results
Upgrade table wrappers to public classes

These are going to be commonly used by users so they shouldn't
be hidden as private classes in the sim module.
Merge pull request #74 from synthicity/table-func-upgrades

Add ability to get local columns from wrapped functions