Update semantics

Replaced #15, but instead stays 100% backward compatible with old versions and Express. Tests will be refactor in a following PR. 

* Allow escaped regexp characters to pass untransformed
* Allow "unnamed" capturing groups and automatically assign a named index key
* Escapes some regexp characters which add no overall value
* Adds greedy matches to params as a named index key
* Adds the ability for already escaped characters to be ignored
* Update a couple of failing tests
* Add a test from Express to ensure asterisk inside matching group still works

Notes:

* Still 100% compatible with Express
* Removes the ability for positive/negatives lookaheads and non-matching groups
* Removes the ability for nested regexp groups
* Retains the ability for `*` to be converted to a greedy match in matching groups