Large cleanup

This commit is a large cleanup throughout the framework. Changes are:

- Put use statements on separate rules
- Fix some variable positioning in docblocks
- Import dependencies with use statement rather then using them directly with their namespace in a class
- Fixed an incorrect @param statement on a property docblock
- Fixed some incorrect return types
- Replaced stdClass with "object" (see note below)
- Replaced a static::make with a new Illuminate Response call in the Response facade (to be in line with the other functions)
- Added dependencies to the start function in the workbench Starter class

The reason why I replaced stdClass with "object" throughout all of the docblocks is because it isn't correct. Stating that you expect stdClass means that you don't expect any other class except stdClass which is wrong. You need to indicate it as "object" so you can expect different types of classes. A prime example is the migrator class where some functions expect a migration class. Those classes aren't stdClasses but they are objects.

Remember: all stdClasses are objects but not all objects are stdClasses.
Signed-off-by: Dries Vints <dries.vints@gmail.com>
Merge branch 'refs/heads/4.0' into dv/cleanup

Signed-off-by: Dries Vints <dries.vints@gmail.com>

Conflicts:
	src/Illuminate/Cache/FileStore.php
	src/Illuminate/Database/SqlServerConnection.php
	src/Illuminate/Queue/Jobs/IronJob.php
Merge branch 'refs/heads/4.0' into dv/cleanup
Fix container not removing bound instances on unset
Add missing tab

Whoops, something went wrong here.
Workbench starter follows symlinks.

Signed-off-by: Jason Lewis <jason.lewis1991@gmail.com>
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.
Fixed pattern filters with uppercase method names.
Update Filesystem.php

Small PHPDocs fixes and removed the return statement in the cleanDirectory method (not supposed to return anything)
Update Dispatcher.php

PHPdocs fix
Update Repository.php

Updated PHPdocs and removed return statement in addNamespace method
[Console] PHPDocs updates

Updated PHPDocs, removed return statement in renderException method, removed unused Container import
[Console] Another small PHPDocs fix
[Hashing] Small PHPDocs fix
[Session] PHPDocs fixes
[Session] Removed useless return statements in Store class
Add key=>value support to array_pluck
Call array_pluck in lists method instead of using its own implementation
[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.