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
Use custom Whoops CSS even when using custom vendor path
allow passing datetime objects to queue later.
update change log.
Merge pull request #2220 from adamwathan/whoops-css

Use custom Whoops CSS even when using custom vendor path
fix possible bug in session keep.
Merge remote-tracking branch 'origin/4.0' into 4.0
Added Queue::bulk method.
cast to array just in case we dont know beforehand.
allow date array on eloquent objects for quick setting of dates.
update change log.
"
remove unused code in provider repository.
remove extra line space.
Increment version.
Add missing tab

Whoops, something went wrong here.
Made `freshTimestamp` return a Carbon object instead of DateTime

as Carbon is already used in database I think this is useful for unit testing

I can do `Carbon::setTestNow(Carbon::createFromDate(2000, 1, 1));` to fake the "created_at" field in an easier way.

I hope this will be merged in
Workbench starter follows symlinks.

Signed-off-by: Jason Lewis <jason.lewis1991@gmail.com>