HTTP file server

Initial implementation for serving static content from RxNetty based on https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/http/file/HttpStaticFileServerHandler.java.  

Additional features include,
1.  Support for single and multiple file sources
2.  zero-copy serving of files

Sure but the URI -> `RequestHandler` mapping can also map to a composed `RequestHandler`, correct?

To concretize what I am saying:

```java
public class SimpleUriRouter<I, O> implements RequestHandler<I, O> {

    public SimpleUriRouter<I, O> withRoute(String uri, RequestHandler<I, O> route) {
        // store the route in a linked hashmap to guarantee route matching in the order of addition
        return this;
    }

    @Override
    public Observable<Void> handle(HttpServerRequest<I> request, HttpServerResponse<O> response) {
        return Observable.empty(); //TODO: Run through the routes and choose whichever matches first
    }

    public static void main(String[] args) {
        SimpleUriRouter<ByteBuf, ByteBuf> router = new SimpleUriRouter<>();
        router.withRoute("/a", (request, response) -> Observable.empty());

        SimpleUriRouter<ByteBuf, ByteBuf> complexRoute = new SimpleUriRouter<>(); 
        complexRoute.withRoute("/b/c", (request, response) -> Observable.empty());
        complexRoute.withRoute("/b/d", (request, response) -> Observable.empty());

        router.withRoute("/b", complexRoute);
    }
}
```