fix divide-by-zero issues with progress when size == 0
match every pushd with a popd in _send_recursive

Fixes a bug where files/directories may end up improperly nested on the
remote machine. For example on the client machine you run the following:

$ mkdir srcdir
$ mkdir srcdir/another
$ touch srcfile

scpclient.put(['srcdir', 'srcfile'], recursive=True)

Then on the remote machine the files end up like:

$ find $HOME
srcdir
srcdir/another
srcdir/another/srcfile

This patch fixes the issue by calling popd for each path component of
the last directory in the loop which changes the remote path back to
where we started before the last directory transfer.

See also jtriley/StarCluster#331
Merge pull request #14 from jtriley/fix-progress-divide-by-zero

fix divide-by-zero issues with progress when size == 0
Merge pull request #15 from jtriley/fix-send-recursive-bug

match every pushd with a popd in _send_recursive
Bump version to 0.6.2 for release
support fetching multiple files and dirs in get()
fix deprecation warnings about e.message

Using e.message is deprecated since 2.6.8. Changed e.message to e[0]
everywhere and also used str(e[0]) everywhere that the exception message
was being concatenated with a string.
Merge pull request #16 from jtriley/fix-deprecated-exc-message

fix deprecation warnings about e.message
Merge pull request #17 from jtriley/feature-get-multiple-paths

support fetching multiple files and dirs in get()
get: support single file/directory renames

e.g. scpclient.get('/etc/fstab',  local_path='ec2-fstab')
e.g. scpclient.get('/etc/zsh',  local_path='ec2-zsh-dir')

The above examples will only work provided local_path != cwd and
local_path is not an existing directory.
Merge pull request #18 from jtriley/feature-single-file-dir-renames

get: support single file/directory renames
Version 0.7.0

SCPCLient.get now allows fetching a single remote path to a localpath
with a different name.