Allow any 'callable' action, not just anonymous functions

If creating routes dynamically, like the following:

```php
$router->getRoutes()->add(new Route(array('GET'), '/foo', array($this, 'xxx')));
```

... then the previous code will fail because `php array($this, 'xxx')` is not an instance of Closure, however `is_callable` will work just fine.
Find any 'callable' action, not just anonymous functions
Make Paginator::getUrl have priority over appends
Tweak test
Only create a "config" instance if only it not yet created.

On one of the project I'm working right now, I'm using both Config and Capsule component, since I register config service location first and then capsule, all the preloaded config is destroy on the config service location is converted to instance of Illuminate\Support\Fluent which is not ideal in my use case.

Signed-off-by: crynobone <crynobone@gmail.com>
Merge pull request #4598 from crynobone/feature/capsule-config

[Database\Capsule] Only create a "config" instance if only it not yet created.
Merge pull request #4276 from dannykopping/4.1

Allow any 'callable' action, not just anonymous functions
Merge pull request #4282 from Anahkiasen/paginator-override

[Fix] Make Paginator::getUrl have priority over appends