Enhancement: add support for $driverOptions

 * introduced $_supportedDriverOptions to validate what is passed into the object
 * added `setDrivrOptions()` which sets the array and throws exceptions
Update: incorporate feedback from @beberlei

 * fix typo
 * remove fluent interface
Update: incorporate CS fixes (h/t @stof)
Update: feedback from @stof and @beberlei

 * move supportedDriverOptions into setDriverOptions
 * make setDriverOptions private
 * support \MYSQLI_SERVER_PUBLIC_KEY on 5.5.0+
Update: remove static (method is private anyway and will be called once)
Enhancement: restructured code - to loop 'earlier'

 * push error handling down to when it occurs
 * WIP, as I am unable to trigger false currently
Enhancement: small test case

 * test case to assert the connection timeout is set
 * test case to assert on exceptions thrown
   * wip, as it seems impossible to trigger 'false' from mysqli_options
Update: remove require_once on TestInit (cc @stof)
Enhancement: skip test suite DB != 'mysqli'
Merge pull request #394 from easybiblabs/topics/mysqli-driver-params

Enhancement: add support for $driverOptions