Some cleanups in function handling
Simplified column objects, removing typed versions

I don't think typed column objects are really that useful that they
would justify the additionaly complexity. Most of the time the val() on
the statement should be used anyways, makeing column objects more an
add-on.
Moved column access into statement
Renamed connection::exec() to connection::run(); Cleanups

If there is a connection::exec() if should call sqlite3_exec()