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 the Console\Command and Console\Migrations\BaseCommand abstract
increased length of redis queue random id to 32 chars
adds php timezone validations
Eliminate array_merge() on insert call for performance
Respect DELETED_AT constant if set for soft deletes
adds test for timestamp validation
correcting character-set changes
documentation changes
Add boolean validation option
Merge pull request #4599 from TheShiftExchange/4.2

Add boolean validation option
Set default value on touch.
Merge pull request #4554 from jchamberlain/4.2

Eliminate array_merge() on insert call for performance
Merge pull request #4569 from jchamberlain/4.2-soft-delete

[4.2] Make Soft Delete Trait Backward Compatible
Merge pull request #4600 from prady00/feature/adds-timezone-validation

Fixes #4127
Merge pull request #4529 from codengine/4.2-redis-random-id

[4.2] Increased length of Redis Queue random id to 32 chars
Merge pull request #4481 from colindecarlo/console-command-is-not-abstract

Make the Console\Command and Console\Migrations\BaseCommand abstract
Fix code formatting.
Merge pull request #4276 from dannykopping/4.1

Allow any 'callable' action, not just anonymous functions