fix problem with test case
svn: better support case where file does not exist at given rev

Subversion does not natively support diffs for paths which are nonexistent at
either of the provided revisions. This simulates the behavior of Git in that
case.
rework test case to include mismatched file types
svn: start on test suite for head:rev feature
unify prefix joining under anyvcs.svn._join()