Add out-of-date checks to the FS commit editor.
Add out-of-date checks to the FS commit editor.

* subversion/libsvn_fs/editor.c:
  (can_modify): core functionality for checking for out-of-date. the
    logic was extracted, updated, and re-commented from
    dav_svn__checkout()
  (add_directory_cb, add_file_cb, add_symlink_cb): if REPLACES_REV
    specifies a revision to replace, then validate we will replacing
    that revision, and delete the node before replacing it.
  (alter_directory_cb, alter_file_cb, delete_cb): require a revision
    to be specified for the target node, and validate it.
  (copy_cb): require a revision to be specified for the source.
    validate and remove any node at the destination.
  (move_cb): require a revision to be specified for the source.
    validate that we can remove the source, and replace the destination.

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion