Decouple route and variable matching in the tree match algorithm.

This avoid all linear dependencies on the number of routes and now finally makes the tree match router about 0.5x (for the first registered route) to 130x (the 1000th route) as fast as the linear probing router, meaning it is faster in virtually every case (starting with 3 routes) and much faster for many routes. With round about 1,5 Mreq/s, independent of the total number of routes and linear in the length of the request path, the router should now be fast enough for serious use. With low level optimization it should be possible to further improve this considerably.