RFC: Use @Path and @GET/@PUT/@POST for annotation router

This is an implementation based on our discussion.  It implements JAX-RS-style (don't cry) routing support for both the Controller and Controller Methods.  It removes the former `@Route` annotation.

This supports mode-limited routes.  Multiple modes can be specified for a route via the `@Dev`, `@Prod`, and `@Test` annotations.

This PR does NOT support route ordering - which I have decided may still be important for things like my Swagger module.  I still am thinking that RegEx routes do not belong here; those should be non-annotated only.

I also tweaked the  `AnnotationRouter` to implement the `ApplicationRoutes` interface - this is the same design seen in the `CasinoRouter`.

I think this moves the `AnnotationRouter` forward, but Darren should review.
hmm... that does not (yet) work for controllers that extend other controllers... Is that a viable scenario?

@Path("/api)
BaseController() {}

@Path("person)
PersonApi extends BaseController() {
 
 @Path(person)
  Result getPerson() {...}
}