[bugfix] Consistency & Resolvable Dependencies Fix

Hi,

Since the cache was added, every package which uses `illuminate/database` also must require `illuminate/cache` to be able to either:

1. Run unit tests using mockery to resolve dependencies
2. Use (any) IoC container to resolve dependencies.

You get all sorts of [fun errors like this](http://d.pr/i/q7u7). I have hit two birds with the one stone, I have allowed you to resolve the cache manager through a closure or by passing an instance through. That's the first bird. The second bird, this method is now consistent with the Paginator dependency (the only other time where something that's not required by `illuminate/database` may be resolved.