* add SetSchema for engine
* fix user
* fix postgres with schema
* fix test
* fix test
* fix test
* fix tablename
* refactor tableName
* fix schema support
* improve the interface of EngineInterface
Fixes#775 This fixes two problems - the postgres dialect can parse a
connection string in url format that has a password with spaces. If an
error occurs the Parse func returns an error instead of panicking.