Add ability to copy a Site object

Once a Site obect has been created, connected, and used, a client
may want to establish additional simultaneous connections to the
same gerrit instance - perhaps to split work between multiple
threads. However, this requires every point that does so to know
the initial arguments provided to the initial construction (site
name, user name, port, etc).

Providing a copy() operation allows a new (unconnected) Site object
to be created with the same initial argument list as the original
and avoids the client having to pass this information around.
Allow init() arguments to override .ssh/config

The GerritSSHClient from pygerrit accepts values for username and
port in its creation, but the internal _configure method basically
ignored them in favor of the values found in .ssh/config.

Now, if either username or port are provided to the constructor,
they will override the value found in the configuration file.

One use might be if someone has multiple user accounts set up on
a test instance of gerrit - all with the same SSH key. Thus the
port and keyfile information can be taken from the config file,
but a different username provided to the Site constructor.
Ensure SSH Client releases the lock on disconnect

It's always possible tha closing the connection could raise
an unexpected exception. There's nothing the documentation
that specifically identifies exceptions, but if one is raised
the client could be left with its lock acquired.

Therefore, perform the close operation in a try..finally clause
to  ensure the lock is released.
Add documenation to borrowed/ssh

Document the methods in the borrowed SSH module and add the new
rst files it produces.

Also fix a minor typo in the README