Add JAX-RS style route builder

This route builder features:
- registration for all standard http methods
- registration of routes for multiple runtime modes
- registration of a route based on the presence of Ninja a Property
- discrete control over registration order

This route builder is used in conjunction with the standard Ninja Router.

This PR is a replacement for #206.
why does the method take ninjaProperties?