Build recursive file walks

Adds the Python code to perform recursive file walks.  The
semantic follows that of cp, rather than scp.  That is, trailing
slashes on sources are relevant, and symlinks are created on
the destination side.  This semantic differs from the one provided
by xddcp, which was a hodgepodge of behavior, and could have led
to infinite loops via symlinks.