Removes unnecessary recursive merging on settings
Adds settings tests
Changes Extensions.prepare() to return boolean if preparing or not
Adds prepare to query (if not prepared) and emit connection once
Changes Gimlet.connect() to be error prone
Adds a few more tests to Gimlet and test driver
Changes test name to be about the driver and not only the connection