Cleans up configuration
Wraps up persistent connection in a custom class
Starts using the new persistent connection class

* Uses the new connection and uses a keep alive to that connection to prevent
  someone(Net::HTTP::Persistent, TCPSocket or Socket) to drop it. Further
  investigation is required
Updates the example to use some stuff of the progress callback