Support updating many fields on CounterField.

This adds two new class methods for CounterField: increment_many, and
decrement_many. These can be used for incrementing or decrementing many
fields at once on an instance of a model.

It also makes two changes to saving field values.

An initializer can now return None, meaning that CounterField won't set
the field and save the object. That's intended for when an initializer
will be handling setting the field itself, perhaps through
increment_many() or update().

When saving the field, CounterField now passes update_fields to save(),
ensuring we only save those affected fields and don't unintentionally
save other aspects of the model.
Fix 'enter' in autocomplete fields (djblets)

Handling of the 'enter' key for autocomplete fields like people and groups
wasn't correct, because the djblets handler (which submits the field) was
running before the autocomplete handler (which populates the field with the
current selected item).

The fix is to ensure that the keydown handlers run in the other order. This
change does the djblets side of that, adding a 'deferEventSetup' option.

Testing done:
Reproduced the bug. After this fix (and the matching reviewboard one), I can
press "enter" with a selected user and it will properly populate the field.

Fixes bug 2779.

Reviewed at https://reviews.reviewboard.org/r/5282/