refactor DBTable interface and related code to simplify client coding

- DBTable now creates the DBColumnT instances and owns them
- update the test code to fit with the new DBTable iface
- refactor set and get iface on DBTable to be type-specific
- reduces necessity for two calls in client code
- rename id_t type as row_id_t
- replace use of float and double with decimal (incl. new typedef decimal_t)
- improve clarity of messages relating to type conversion errors
clean up interfaces, move common type definitons, and remove old code
- clean up container typedefs for row_id_t, statements, and column pointers
- clean up common statement handling in DBTable
refactor DBTable using private implementation pattern

- implementation moved to new class DBTableImpl
Merge branch 'interface_cleanup'