WIP/POC Implementation of JSR311

This is a POC for one approach to implementing JSR311 in Karyon.  For simplicity this code uses UriTemplate from Jersey but we could swap that out for our own implementation later.  

Key concepts introduced here.
1.  Instead of AsyncResponse (JSR315 for async servlets) methods will return an Observable<Object>
2.  A mapping layer will map the type to a message body writer
3.  Support for DI via the InjectionSPI interface.  Basic implementation for Guice is provided
4.  Encapsulate request/response/state in a RequestContext
5.  New RequestHandler contract which is essentially a map from RequestContext to Observable<Object>.  This allows us to implement the URI routing using a flatMap
6.  RouterConfigurer contract for various mechanisms to generate the routes and associated handlers.  An implementation is provided for PackagesRouterConfigurer, ClassRouterConfigurer, MethodRequestHandler

Example resources,

```java
@Path("/v1/hello")
public class HelloWorldResource {
    @GET
    @Path("{name}")
    public Observable<String> getStatus(@PathParam("name") String name) {
        return Observable.just("hello " + name);
    }
}
```

Related to my comment above. The construction process is pretty complex. Looking at existing RouterConfigurer they provide UriTemplateRoutes. Does it make sense to change this interface to:
```java
public interface RouterConfigurer {
    Observable<UriTemplateRoute> configure();
}
```