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
Modify all() to work with nested input arrays
Merge pull request #2680 from bryannielsen/4.0

Modify Input::all() to work with nested input arrays
Fix index naming problem.
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.
Change __call target.
Resolve from container again in meantime while figuring out issues.
Fix bug with setting save keys.
Merge branch 'str-class' of https://github.com/vlakoff/framework into str-helpers
Adding another test to string tests.
Allow all future minor releases of Monolog.
Rename variable in Closure.
Fix test for HHVM.
Fix HTML dump from Artisan console.