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

Should we instead return `Observable<Long>` and underneath use a `ProgressivePromise` to provide the status of the write in terms of bytes written?

The code then would be:


```java
        final ChannelProgressivePromise progressivePromise = ctx.newProgressivePromise();
        getChannel().write(region, progressivePromise);
        return Observable.create(new Observable.OnSubscribe<Long>() {
            @Override
            public void call(final Subscriber<? super Long> subscriber) {
                progressivePromise.addListener(new ChannelProgressiveFutureListener() {
                    @Override
                    public void operationProgressed(ChannelProgressiveFuture future, long progress, long total)
                            throws Exception {
                        subscriber.onNext(progress); // sending progress, total can be calculated by the subscriber.
                    }

                    @Override
                    public void operationComplete(ChannelProgressiveFuture future) throws Exception {
                        if (future.isSuccess()) {
                            subscriber.onCompleted();
                        } else {
                            subscriber.onError(future.cause());
                        }
                    }
                });
            }
        });
```