Move Review Board's propertyUtils.js into Djblets.

The config form code was trying to call out to $.bindProperty, which was
in Review Board's propertyUtils.js. This change moves that codebase over
into Djblets, renaming it to jquery.gravy.backboneUtils.

Reviewed at https://reviews.reviewboard.org/r/6159/
Use Math.ceil() when computing a modalbox's position.

modalBox would listen for updates to the content within the box and
attempt to update its size and position accordingly. These values could
end up being non-integers, causing elements to subtly jump.

To fix this, we just need to use Math.ceil() on the values to ensure
that we get whole numbers.

Reviewed at https://reviews.reviewboard.org/r/6162/
Support invoking radio action handlers on click in config form actions.

Unlike a checkbox, a second click on a radio input won't trigger a
'change' event, since you can't uncheck a radio input without clicking
on a different radio input. This made it impossible to respond to click
events (which I have a need for in another change -- a "Custom" radio
input entry that invokes a dialog).

To get notified on a click event, actions can set
`dispatchOnClick: true` on the action. Clicking the radio or its label
will then result in the action handler being called, even if the radio
is already checked.

Since the browser will fire both a change and a click event, and there's
nothing we can do about that, we need to use debounce() to ensure the
handler is only called once.

Reviewed at https://reviews.reviewboard.org/r/6161/
Fix the spinner display on config form list items.

The spinner was set to have a background-position-y of 6px, which was a
relic from something in the past. This ends up looking pretty bad with
the current images we're using, since the spinner gets cut off,
so remove it.
Re-fix building i18n on pristine systems

A patch to 0.8.8 reverted the behavior here, causing distribution builds to
fail. This patch should provide the intended behavior for both cases.

Testing Done:
I built Fedora packages both with and without PYTHONPATH set in the
environment. Prior to this patch, the build would fail due to being unable to
locate djblets.util.filesystem. With this patch, the build completes
successfully.

Reviewed at https://reviews.reviewboard.org/r/6165/
Merge branch 'release-0.8.x'
Better support radio inputs in bindProperty and config forms actions.

$.fn.bindProperty() now accepts a radioValue option. If set, this will
manage standard radio behavior between radio input elements and a model
property. Each input is expected to have bindProperty() called on it,
passing a radioValue corresponding to the appropriate value in the
model's property.

When the element's property (which is expected to be a boolean) changes
to true, the model's property will be set to the radioValue. Otherwise,
to prevent conflicts, nothing will be set on the model (with the
expectation being that another bindProperty() will handle the radio
input that's now checked).

When the model's property changes, the value will be compared against
the radioValue. If they match, the radio input will be checked.

The new radio action support for config form list items now support
taking a radioValue, which is then passed to bindProperty.

Reviewed at https://reviews.reviewboard.org/r/6160/
Merge branch 'release-0.8.x'