allow capturing groups which match nil

Routes which match "foo", "foo/bar" "foo/bar/baz" etc need
a regexp like `#"([a-z]+/)*[a-z]+"`.
This regexp fails for "foo" since re-groups* returns (nil)
(for the 1st capturing group which does not match).
This causes an exception to be thrown for route "foo".