Unroll loop in web.routeMachine.route

On my machine, this is worth about 10ns at 5 routes, 20ns at 50 routes,
70ns at 500 routes (a ~5% win), and 40ns at 5000.
Don't load all of rm.sm[i]

For whatever reason, Go insisted on loading rm.sm[i] in several chunks,
even though it could be loaded in a single 64-bit block. Instead, let's
reorder our loads to minimize the amount of memory we're uselessly
moving around.

This gives us about a 15% perf boost in
github.com/julienschmidt/go-http-routing-benchmark's
BenchmarkGoji_StaticAll, and questionable benefits (i.e., not
distinguishable from noise but certainly no worse) on Goji's own
benchmarks.
Don't look up s.literals[i] twice

This is worth about 3% in
github.com/julienschmidt/go-http-routing-benchmark's
BenchmarkGoji_GithubAll. Not a huge win, but definitely still worth it.
Inline strings.IndexRune call

This is worth about 4% on
github.com/julienschmidt/go-http-routing-benchmark's
BenchmarkGoji_GithubAll.