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
Change __call target.
Resolve from container again in meantime while figuring out issues.
Change visibility of some BelongsToMany methods
use PHP_BINARY to serve development server
Fix bug with setting save keys.
Wrap start files inside booted event.
Fire callback immediately if app has booted.
Merge pull request #2712 from ball6847/fix/artisan-serve-alternate-phpbin

use PHP_BINARY to serve development server
Merge pull request #2711 from Anahkiasen/patch-1

Make public BelongsToMany::updateExistingPivot and BelongsToMany::newPivotStatementForId
Work on password reminder flexibility.
Merge branch 'str-class' of https://github.com/vlakoff/framework into str-helpers
Adding another test to string tests.
Merge branch '4.0'
Merge branch 'master' of github.com:laravel/framework
Merge branch 'master' into reminders
Re-working some things in password broker.
Small docblock fix.

Signed-off-by: crynobone <crynobone@gmail.com>