be more verbose in logs fixes to specs
In addition to 'boolean()' as a data type for the 'db_ssl' option, the 'required' option from the underlying PostgreSQL pgsql/epgsql library will be used.
The new before_update/1 and after_update/1 hooks behave the same way as before_update/0 and after_update/0. The difference is that they do provide access to the old boss record as an additional parameter. This addition is fully backward compatible due to the fact that the before_update/0 and after_update/0 hooks act as fallbacks. For example, if both hooks before_update/0 and before_update/1 exists in a boss model module than before_update/1 will be prioritized and before_update/0 will be ignored. Same behaviour applies to after_update/1 and after_update/0.
Mysql has a number of issues with fulltext search in the middle of transactions, so we have to eliminate the transactions portion of push and pop. Further, to ensure that the tests all draw from the same pool (since our tests actually are supposed to happen in a transaction), we run them through a mock transaction which ensures we're always drawing from the same pool. If mysql ever fixes fulltext search during a transaction after inserting, then we can remove the test checking and use normal savepoint and rollback pairs. Also, there were issues loading the boss_test_app as an actual application, so just removed that component altogether, reconfiguring the configs to just specify boss_test as the application. ALSO, mysql's "boolean" operator is just a shortcut for tinyint(1), which ends up being handled by boss_db as an integer, so we had to modify the test model to tell boss_db to treat the boolean field as a boolean. Finally, fulltext search doesn't work at all in Mysql without having a fulltext index. So added fulltext indexing to the mysql.sql initialization script.