Closes #36, #32, #35, #13: Completely refactors client context and routing. Introduces a new application layer and a feature I'm calling paths.