New batch-editing form

Implementation of the advanced batch-editing features Erin and I have been discussing, including the entirety of the new, wizardly (and heavily JavaScripty) form that I mocked up last month.

Not implemented yet: the ability to reassign a new parent object to all objects in a set. This will require a separate piece of UI magic. I don't believe that this feature is currently present at all in `master` (correct me if I'm wrong) so there shouldn't be harm in merging the work so far into `master` if we decide that it's good.