fix issue #8: failing to copy single source to single dest

fixes https://github.com/perlundq/yajsync/issues/8

this adds support for the following operations:
   file          -> non_existing      == non_existing
   file          -> existing_file     == existing_file
   *             -> existing_dir      == existing_dir/*
   *             -> non_existing      == non_existing/*
   *             -> existing_not_dir/ == fail
   *             -> existing_other    == fail
   file_a file_b -> existing_not_dir  == fail
   -r dir_a      -> existing_not_dir  == fail

Note: one special side effect of rsync is that it treats empty dirs
specially (due to giving importance to the total amount of files in
the _two_ initial file lists), i.e.:

   $ mkdir empty_dir
   $ rsync -r empty_dir non_existing
   $ ls non_existing
   $ rsync -r empty_dir non_existing
   $ ls non_existing
   empty_dir

yajsync does not try to mimic this behaviour