Changing to use complete throughout, and to consider arrays of values wh...

...en deserializing the form data.

Complete steps were not getting run in all instances, so items that were queued for ajax processing were not getting sent.

Additionally the data being sent when the messages were combined was invalid, since only one batch id was getting pulled from the data, and one of any other value too.
@jcoyne Moved some of the heavy lifting to separate functions.  Better?