allow "accept" conditions, and separate "method" condition

- add setAccept() and addAccept() route conditions, along with appropriate matching logic

- create separate setMethod() and addMethod() logic for matching HTTP methods (instead of embedding in generic $_SERVER conditions)

- track a "score" on each route that says how well it matched, via new pass() and fail() methods

- the Router now retains the closest (highest-scoring) route that didn't actually match

- there are no intentional BC breaks, but let me know if you find any