Move a file or directory.

    If the destination already exists, this will attempt to overwrite
    it.

    Arguments:

        src (string): path to the source file or directory.
        dst (string): path to the destination file or directory.

    Raises:

        File404: if source does not exist.
        IOError: in case of error.

def mv(src, dst):
    """
    Move a file or directory.

    If the destination already exists, this will attempt to overwrite
    it.

    Arguments:

        src (string): path to the source file or directory.
        dst (string): path to the destination file or directory.

    Raises:

        File404: if source does not exist.
        IOError: in case of error.
    """
    if not exists(src):
        raise File404(src)

    try:
        shutil.move(src, dst)
    except Exception as e:
        raise IOError(str(e))