Better error handling (emacs mode and beyond).

I had three problems:
* The emacs lisp code was leaving it's temp files lying around.
* The emacs lisp code wasn't noticing when perltidy caught syntax errors.  The PerlTidy plugin was fragile, it didn't do the right thing if the user had specified -se (even it the user wasn't aware of it, having specified -pbp and gotten -se for "free").
* While we're in there, the emacs lisp code should (provide 'tidyall) so that it can be required.

Things now "work for me".