Don't assume absence of fs_err indicates lock_body/unlock_body was
successful.  This handles conditions like disk full or obstructions
in db/locks.

* subversion/include/svn_error_codes.h
  (SVN_ERR_FS_LOCK_OPERATION_FAILED): New.

* subversion/libsvn_fs_fs/lock.c
  (struct unlock_info_t): Add done member.
  (unlock_body): Set done when unlock is successful.
  (svn_fs_fs__lock): Generate an error if there is no lock and no fs_err.
  (svn_fs_fs__unlock): Generate an error if the done flag is not set
   and there is no fs_err.


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