Bug in Router::match

Router::match doesn't work as expected when an scope is attached with absolute parameter.
It'd be better if there would be a switch for when scope is actually used (most of the times it wont be used). That would clarify things a bit more and would also be good for perfomance: 

I see we could save a call to array_diff_key on a potentially empty array further down. It'd be nice to save that for example.