Add basic implementation of Form\Schema.

Add the basic implementation and test cases for the schema class that
ORM-less forms will use.
Start implementing Form class.

Implement some of the basic features for the form class.
Implement remaining basic Form interface.
Add documentation for Form.
Add documentation for Schema.

Also add the ability to provide only the field type as a string.
Fix docblocks and add typehints.
Fix mistake.
Rename isValid to validate.

This makes it more consistent with Table::validate().
Add method for adding multiple fields at once.
Always throw a 404

Account for the way that (array)null results in [] and not [null]
phpcs fix
Add InvalidPrimaryKeyException

Used with findOrFail when passed an invalid pk
Merge pull request #5418 from cakephp/3.0-consistent-get-exception

Consistent exception behavior for Table::get
Correctly log false as 0 for query logger.

The query logger was replacing `false` and `0` values with an empty string. This corrects that by replacing bools and `0` with a php string representation.
Merge pull request #5429 from dakota/3.0-query-log

Correctly log false as 0 for query logger.
Merge pull request #5416 from cakephp/3.0-form

3.0 - Start ORM-less forms
Fix failing insert tests on sqlserver
Merge pull request #5431 from dakota/3.0-sql-connection-busy

Fix failing insert tests on sqlserver
isolated failling test