Added support for double datatype in schema builder.
Fix Str::contains(), startsWith() and endsWith() with empty needles.

The behavior in these cases has been unified:
- return false
- no longer produce warnings
Optimize Str::endsWith()
Docblock and code uniformization in Str class
Implements cache tags for query builder from issue #2630
Also refactors builder tests for cache
Remove superfluous tag() method
TaggableCache::section() calls tags().
Merge pull request #2688 from karptonite/remove_tag_method

Remove tag method
Fix docblock
Implement withErrors($validator) for views
Use original key value when updating models.

This is necessary in case the primary key was changed.

Fixes #2414.
Fix failing tests.
Add additional unit test for #2414.
Fix expectations for mock objects.
Merge pull request #2695 from franzliedke/patch-16

Use original key value when updating models.
Merge branch '4.0'
Merge pull request #2692 from jcoetzee/views_withErrors

Implement withErrors($validator) for views
Fix spacing.
Merge pull request #2687 from karptonite/builder_tags

Implements cache tags for query builder from issue #2630
Small tweaks to doc-blocks.