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
Cast resource route options to array
Merge pull request #4276 from dannykopping/4.1

Allow any 'callable' action, not just anonymous functions
Merge branch '4.1' into 4.2