Router

Trie implementation + tests
Router using it + tests
when would `commonUntil` would be equal to 0?
Also, if they're the same, wouldn't `commonUntil` be equal to `len(token)`? in `findCommonStaticChild` you have:
```
 if commonUntil == len(token) || ... {
     ...
     break
}