Implement requested feature of being able to extract rar files into
a specified output directory. This is implemented by switching to this
directory before extraction. Note this means that we don't try to
recreate the directory structure that the rar file(s) was(were) found
in inside the output directory.

This feature required changes to the clean up hooks because now the
rar files won't be found in the current working directory. To fix this

* clean up hooks now assume that the current working directory is the
directory that files were extracted into. This applies to most clean up
hooks because most are designed to clean up files that were extracted
from the rar files.

* clean up hooks are passed a third argument which is the directory
containing the rar files. This is used by the ``unrarall-clean-rar()``
clean up hook so it can remove rar files.
Clean up unrarall usage output so it fits into 80-column terminal.
Note the text from the help text from the hooks aren't cleaned up.
I'm not convinced its worth the effort required to fix that.