improve routing code readability and p6doc index

now p6doc path-to-index is used, rather than a hard-coded path.

also, using "given/when" is quite a bit prettier than having a
gigantic if/elsif tree for routing URLs.