Big refactor. I changed the interal routing to use Express's routing

I deprecated a lot of code but didn't delete it (yet)
I changed some of the APIs, mainly the detail routes don't get two extra
arguments. I plan on fixing this or otherwise making the old behavior
possible because I think its nice

I also need a better way of storing data such that the after route can
modify it... I don't think the current solution will be final