Route#<< should return the original route
Make Builder.build cleaner

This version saves all routes in a reverse list and then reduces over
it to build the chain. It's the closest thing to a `foldr` I was able to
make :) but could be a problem performance-wise.