Added Tests and added RequestClientCreator

I added some more integration tests

I also made expose the ability to inject a RequestClientCreator via the
builder

The RequestClientCreator.create() can be overridden to inject a custom
RequestClient implementation.