Criação de rotas e coleção de rotas

Nesse commit, separei o que serião as rotas, e sua coleção.
Afim de criar um objeto iteravel, RouterCollection implementa ArrayAccess
que pode ser iterado para fazer `match` da rota atual.