basic routes and controllers

added basic uri handling for the start of the application. It takes a
uri, parses it, and determines which controller to pass it to, if the
route doesn't exist, it serves a 404 page error