[Routing] Add support for 'priority' option for annotated Routes

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | [sensiolabs/SensioFrameworkExtraBundle#320]
| License       | MIT

If the given route option parameter has a priority key, it will be sorted. The use case is described in the linked ticket. This is a new implementation, previous one (#11747) was proven bad.

If the changes are acceptable, then I will create the changes also for the Doc
Actually, I didn't wanted to touch ```RouteCollection``` at all, but I have a proposal, ```RouteCollection``` has a method, addOptions(), where if there is a route with priority at the end of the process I can pass in ```array(priority => 0)```
and then every route in the ```RouteCollection``` will have this value, and at the end in the ```DirectoryLoader``` I add the routes with real priority option and with this, I don't need to change anything in the ```RouterCollection```.