refactor routing mechanism

Each app is now responsible for setting its own namespace. This is done by passing a
`namespace` block instead of assuming the namespace. This allows applications to be
separated by function rather than path and still maintain pretty URLs.
add URL helpers to simplify and refactor views
Merge pull request #7 from digitxp/routing

epic routing system. Fantastic job.