Split ConsoleServer into server + route handling

Let people add routes using attributes. Routes matched by regexp. Fileserver done via fallthrough route handler.

Better support for 404 and 500.