Now handles false resolver match properly

With the recent change to allowing false from HandlerResolver we introduced a logical bug in Labrador\Application. Because it was assuming that Resolvers would always return a callable or throw an exception it was blindly passing the `HandlerResolver::match` return value to `RouteFoundEvent` and triggering said event, even though the handler may not have been resolved into an appropriate callable. Not only was this resulting in a fatal error because of a mismatched typehint but it is also a flaw in Labrador's domain logic as RouteFoundEvent should only be triggered when the Router can match the Request and the HandlerResolver can turn it into an executable.