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
Fix many to many polymorphic pivot updates

`$morphType ` set by `setMorphType` is being included in queries from x->pivot->save() and the like. As the object is being added as a public data member on an object with an empty original, it is treated as an attribute and added as a column to the queries. As this column doesn't exist, the query will be erroneous.

https://github.com/laravel/framework/issues/3693
Tweak test
Make the Console\Command and Console\Migrations\BaseCommand abstract
increased length of redis queue random id to 32 chars
Fixed view finder interface
Minor cs fixes
Travis testing
adds php timezone validations
Eloquent Pivot - Make sure raw attributes setting also set's original data

Fixes bug that calls db update from pivot models that haven't even changed
Eliminate array_merge() on insert call for performance
make OptimizeCommand compile views
Added reject method to collection.
Respect DELETED_AT constant if set for soft deletes
adds test for timestamp validation
correcting character-set changes
Merge pull request #4539 from GrahamCampbell/4.2-views

[4.2] Fixed View Finder interface
Merge pull request #4541 from GrahamCampbell/4.2-cs

[4.2] Minor CS Fixes