mariadb major updates

Although I'm having trouble getting it to pass a Travis build, this code does seem to be working as expected in a production environment I have elsewhere. It's failing on my local machine with some weird variable casting-type errors, though, that I can't pinpoint.  Examples below:

This is a continuation of #582, which I'm closing now so we don't have duplicate open issues for the same thing.

Examples of the date/time format issue:

Failure: [MARIADB] DAO equals can compare records with Date field
[assert.isTrue] Expected false to be true
at Object. (./spec/dao.spec.js:641:39)
at EventEmitter.emit (events.js:95:17)
...

Failure: [MARIADB] DAO reload should update read only attributes as well (updatedAt)
[assert.greater] Expected 2013-05-18 05:07:54 to be greater than Sat May 18 2013 01:07:53 GMT-0400 (EDT)
at ./spec/dao.spec.js:290:48
at null. (./lib/emitters/custom-event-emitter.js:40:43)
...

Failure: [MARIADB] DAO default values allowNull date should be the same valid date when saving the date
[assert.equals] 2013-05-18 05:07:57 expected to be equal to Sat May 18 2013 01:07:57 GMT-0400 (EDT)
at null. (./spec/dao.spec.js:366:55)
at EventEmitter.emit (events.js:95:17)
...

Examples of weird comparison errors:

Failure: [MARIADB] DAO decrement with single field
[assert.same] -2 expected to be the same object as -2
at ./spec/dao.spec.js:183:35
at null. (./lib/emitters/custom-event-emitter.js:40:43)
...

Failure: [MARIADB] DAO decrement with array
[assert.same] -2 expected to be the same object as -2
at ./spec/dao.spec.js:168:35
at null. (./lib/emitters/custom-event-emitter.js:40:43)
...

Failure: [MARIADB] DAO decrement with key value pair
[assert.same] -1 expected to be the same object as -1
at ./spec/dao.spec.js:236:35
at null. (./lib/emitters/custom-event-emitter.js:40:43)
...