Drive the merge handling based on the source type instead of the target type,
to avoid nasty ra errors and to properly handle merge conflicts when applying
the changes from (src1:src2) upon the specified target.

We document merge as applying the diff between two locations to the target and
this patch makes sure we drive the diff that way.

* subversion/libsvn_client/merge.c
  (do_merge): Drive merge based on source type, instead of based on target
    type.

* subversion/tests/cmdline/merge_tests.py
  (merge_target_selection): Update expected results when using invalid targets.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1436677 13f79535-47bb-0310-9956-ffa450edef68