Return null on invalid resolves.
More tests for optional segments.
Reordering tests.
Alternative approach to empty optional segments.

We use this if we want for /:paramOne?/:paramTwo? to resolve to
/b if only paramTwo == b is specified, and not //b.