Expose constructor

I made a couple improvements to this project.  I found that in cases where the fluent server is unavailable, having the sender initializer block trying to connect is unsuitable, so I exposed the constructor, allowing it to initialize without blocking.

I also added a timer that is used to re-try a send operation if it fails. That way, the caller doesn't have to emit initial events to cause a retry.

I'm using it to emit log records from a web API, and it seems to be working quite well now.