use constants for routing failure types
add getFailedRoute()
add comments
use ArrayObject for matches
extract Route regex work to a Regex class
make Regex a dependency
reuse the Regex object
Merge pull request #51 from pmjones/develop-2

use constants for failure status, and extract regex logic