Skip subtrees whenever possible in mounted resource lookup

When attempting to find the mounted resource for a request, skip over
subtrees that cannot contain a match due to not having a resource
mounted at a depth equal to the "height" of the request's path (the
number of segments).
Add LRU cache to mounted resource tree

Items are cached by `(method, path)`.