Merge pull request #997 from jails/feature/database-date-cast

Consider an empty string for date as a missing date and save the default instead.
Adding test for whitelisting when locked in model/query.

Shows that #286 has been solved already.
Adding test to prove find than count on empty collection works.

Disproves #1042.
Adding missing return tags to service class.

Removing author tag.
Expanding docblock for service send method.

Documenting authentication behavior.
Improving performance of `String::insert` by adding `is_scalar` check.

Wrapping check in `String::insert()` in check for scalar type.

Removing explicit check if object is a closure. This is implied when
checking for the `__toString` on object. Closures don't have such
a method.

Benchmarks show this saves roughly 6% CPU time when using just
strings as replacement (which is the most common usage scenario).

Exposing `is_object` outside the enclosing if clause
makes it eating ~10% of CPU time.

Removing `is_object` may seem like an option because it is implied
by `method_exists` but this turns out to be way slower for non objects.

Adding note about future refactorings.

Removing todo/note for optimization.
Optimizing $_FILES parsing in action request.

Check if parsing is required and only than parse and merge.

Benchmarks show an improvement of 0.6-2.4% in CPU time in very simple
scenarios without triggering the $_FILES parsing when instantiating
the request object.
Correct docblock; MySQL -> database.
Enable serialization of data entity and collection.

Serialization was prevented by unserializable properties that held
`PDOStatement` or anonymous functions.

Both entity and collection objects cannot be serialized losslessly. As
it however is assumed that serialized/unserialized objects are used
just before they are injected into views and no further complex
action will take place these losses will not be noticed.

* Both objects will loose any associcated method filters.
  As none of nore subclasses of them actually use filters for now
  this is a non-issue.

* Entity will loose schema.

* Just the default export handlers are restored.
Homogenizing assignment of quotes in Database.

This as a side-effect reduces the amount of function calls.
`list()` is a language construct.
Semantic correction in the readme.md
Merge pull request #1060 from mauro-moreno/dev

Semantic correction in the readme.md
Bugfix for Form->config() field settings

Fixed an issue where if you wanted to set different defaults through
Form->config for different field types (field-checkbox, field-radio)
these settings would be ignored.

These settings are now recognised and if they are not set it defaults
back to just field for its settings as before.
Added isset to $options['type']
Added test case for FormFieldCheckboxWithCustomConfig

Tests for custom configurations with different types of field
Merge pull request #1061 from markwilde/dev

Bugfix for Form->config() field settings
Merge pull request #1055 from davidpersson/serialize-data

Enable serialization of data entity and collection.
Adding initial cache adapter base class.
Updating cache adapters to use base class.

- Remove inherited methods where possible.

Any custom adapters implemented in userland should
be changed to inherit from the new base class as a form
of good practice. However current implementations will
continue to work, thus this doesn't break BC.
Updating cache namespace docblocks.

- Roughly equal structure for all cache adapter docblocks
  to make them easily comparable.

- Documenting atomicity not in general (just hint) but
  on each adapter as this differs from adapter to adapter.

- Adding documentation what adapters should/can/must
  in adapter base class.

- Adding links using tags.

- Removing 'method non-filterable' from cache docblocks.

- Updating enabled mehtod docblocks, equalizing.

- Adding ref to base adapter.