Adds Per-Session Concurrency Limits

* Since the HTTPConnectionPool works differently than I expected, once
  the number of connections is reached, it starts preempting running connections
  for new requests. This is not workable without additional protections. To prevent the
  limit from being reached this changeset does the following:
  * Increases the default max number of connections to the backend swift cluster.
  * Adds a 'num_connections_per_session' option to both FTP and SFTP that will limit
    how many backend swift connections one session can use. However, with enough clients
    it's still possible to hit the connection pool limit.. which will cause errors.

NOTE: In the future there should be a global semaphore that matches the max number of connections
      in the connection pool.