Close cursors that are done.
Add hook to describe table options when reflecting a table.

This will let the schema subsystem get engine information from MySQL
when reflecting tables. Other table types do not use options so the base
class methods are noops instead of abstract methods.

Refs #4263
Add collation to reflected schema values.

Refs #4263
Make schema internal methods consistent.

Make methods consistent so that method names can be generated allowing
code to be simpler and more well factored.

Refs #4263
Add a null caching engine.

Having a NullEngine makes a bunch of internal operations simpler as we
don't have to check whether or not the engine() method returned an
instance or not. It also makes it easy to use a null adapter in testing
without having to generate mocks.
Added missing folders to plugin baking task, updated test
Removed Vendor folder from plugin baking task, updated test
Fix typo
Mark fields as not dirty when they are unset.

Leaving unset fields as dirty makes entity create null values when
persisted.

Refs #4288
Fix typo.
Fix failing tests.

Unset properties are no longer dirty.
Correct typo.
Merge pull request #4299 from cakephp/fixture-reflect-engine

3.0 Reflect options in schema reflection
Merge pull request #4305 from cakephp/3.0-unset-property

Mark fields as not dirty when they are unset.
Forward port fixes for #4294 from 1.3 to 2.x

CakeTime was broken in the same way as TimeHelper was in 1.x. Getting
1969 on invalid input can be very confusing and un-helpful.

Refs #4294
Allow string extensions to be provided to RouteBuilder::extensions()

This makes the method easier to use when there is only one extension and
mirrors Router::parseExtensions.

Refs cakephp/docs#1610
Merge pull request #4290 from ravage84/plugin-task-folders

Updated plugin baking task folder list
Update docblock.
Add some white space to error logs for better readability.
Avoiding a call to session_regenerate_id() when there is no id

Fixes #4312