Added `disconnect()` method to DatabaseManager.

This method helps with unit testing where multiple connections are opened during a single PHPUnit process. Calling `DB::disconnect($name)` provides access to the protected `$connections` variable in a similar manner to `DB::reconnect($name)` but without recreating the connection. This prevents PDO Max Connection errors during database-heavy unit testing.
Changed to return void as `unset()` has no return value.
[BugFix] Collection.php

To enable Lazy Eager Loading with Constraints.

When I now use something like this it fails:

```php
$users = User::all();
$users->load(array('posts' => function($query)
{
	$query->where('title', 'like', '%first%');
}))->get();
```

The problem I think is the handling with func_get_args(), it puts the relations array into another array.
Merge pull request #2299 from bkaskes/patch-2

[BugFix] Collection.php
Merge pull request #2277 from bexarcreativeinc/4.0

#2276 Added `disconnect()` method to DatabaseManager.
fix conflicts.
Allow for custom observable events for Eloquent Models
Merge branch 'custom-observables' of https://github.com/rtablada/framework-1 into rtablada-custom-observables
fix bugs.
upgrade mockery... return correct value on isset for eloquent mutators.
Merge branch '4.0'
sync original before filling in case default attributes are set.
Merge branch '4.0'
use intersect when filling.
Merge branch '4.0'