[refactor] [test] add Controller and ActionInterface; add ActionResolverCollection for storing and prioritising action resolvers; make Dispatcher::resolveAction() and Dispatcher::executeAction() public to improve testability
[test] AbstractRequest::getActionParams()
[test] MVC\Response\Http
[test] Dispatcher resolveAction(), executeAction() and some timid coverage of dispatch()
[test] break Dispatcher tests into 4 more manageable test cases
[test] Dispatcher::dispatch() BeforeDispatch and BeforeAction events
[test] Dispatcher::dispatch() AfterAction event
[test] Dispatcher::dispatch() loop
[test] sufixed method names where getter exception is tested with Exception sufix
[test] split FrontControllerTest into 2 test cases: one for testing setup methods, the other one to test execute()
[test] FrontController::execute()
[refactor] make Dispatcher cancellable events follow the same flow as in FrontController: events can yield/replace response even if not cancelled
[refactor] FrontController\NoRouteFound can be cancelled
[refactor] [test] simplify Sender::send() making it agnostic to the actual type of response; make Response/Http/HttpInterface extend Response/ResponseInterface
[test] FrontController::executeAndSend()
Merge branch 'develop'