Add a RouteMatcher for banning/(un)preferred routes.
Correct bug in unpreferred route test.

Weight the trip if the trip route OR the trip agency is in the unpreferred sets (not AND).
RouteMatcher: optimize empty set.
Merge pull request #1037 from laurentg/master

Small refactor of banning/preferred/unpreferred routes: introduce a "RouteMatcher"