* Avoid lodash typecheks
Lodash is quite big project. Even with direct imports it loads [tons](https://github.com/knex/knex/pull/3804) of
code and still bloats node_modules. Especially since lodash mostly used
as a polyfill for modern features.
In this diff I attempted to reduce lodash usage by replacing type checks
with `typeof` operator which might be sufficient.
Also replaced lodash/isObject with custom simplified utility which does not
consider functions as objects and allows to simplify code in one place.
* `chai` is no longer global
* sinon is no longer globally defined
* expect(..) is no longer defined globally
* Removed obsolete eslint hints about globals
* Removed unused variable ( `expect(..)` )
* Normalized and validated driverNames of test db clients and fixed oracle test setup
* Fixed failed queries from old query building tests which hadn't been ran in ages
* Allow selecting node version which is used to run oracledb docker tests
* Improved sql tester error messages
* Fixed rest of the oracledb tests
* Removed invalid flag from docker-compose
* Print mssql logs if initialization fails
* Fixed syntax error + final tests
* Added restart of failure for mssql DB initialization to try again if server was not ready
* Printout always mssql logs after container is started
* Fixed wait time printing after trying to connect
* Use npm run oracledb:test for testing oracle in travis
Only left alone ones in `test/tape/transactions.js` which would just
cause unnecessary conflicts and get cleaned up by separate pull
request #1257 anyway.
Beefed up transaction implementation, still needs tests
and cleanup of nested transaction queues.
Left todo:
- Fix commented out tests
- Fix oracle driver's transactions