* 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.
The underlying issue was that query *always* committed, even during a transaction. The previous fix was to just disable commitAsync in a transaction but then that also disabled explicit commit calls. Instead, this fix disables query's commits during transactions so that explicit commits still work.