Refs #4820: Adds refactored router and request services

Testing:
 * Added unit tests for Router and Request.
 * Also did manual end-to-end test. Main area, admin area, and 404 handling appear to still be working as normal.

Note that this does *not* add any new features. I was going to do that, but need to "prefactor" so as to keep the changes atomic.