batchundelete: Miscellaneous ameliorations

Similar to unlink in 2aae77d1b1:
- More sensible dialog size
- Reason box becomes an input box (was a textarea)
- Add "Select/Deselect All" buttons
- Add shift-click support
- No more XPath (issue #226)
batchdelete: Miscellaneous ameliorations

Similar to unlink in 2aae77d1b1 and batchdelete in 8d4a8e651b:
- More sensible dialog size
- Reason box becomes an input box (was a textarea)
- Add "Select/Deselect All" buttons
- Add shift-click support
- Get rid of needless check for the page's existence before deleting (this
  is a legacy from the screen-scraping days)

The XPath still needs to be removed.

I should point out that the unlinking code seems to error out, with
"self.params is undefined" on line 322. Not sure why this is, but it wasn't
introduced by this commit. The whole batch infrastructure needs a bit of
a clean out - see the "batch-operations" branch.
speedy, image, xfd, tag: Prevent users warning themselves

Also add a warning message in prod. Otherwise it just sits there forever
with a "loading" type message.

Fixes #118.