Giant reworking of batches and contributions concepts

Batches can be named and serve simply as groupings for posted
contributions. There is no longer really a concept of a pending
contribution and a posted one, nor a "current" or pending batch. Once a
batch has been created, any contributions added to it are live and will
show up on the statements and on user's contribution lists.

I did a whole bunch of work really quickly to meet a deadline, so there
is a LOT of messy stuff here, especially in the controllers. Especially
in the contributions controller. Horrible, horrible stuff. I need to go
back and write controller tests and then refactor like crazy.