WIP fix for issue 121

Add new ProvidesColumnMetaData interface.  
Allow implementor to decide whether to use PrepareResult or not.