Add improved extensibility and display for config form action menus.

Review Request #7618 — Created Sept. 4, 2015 and submitted — Latest diff uploaded

Information

Djblets
release-0.8.x

Reviewers

Consumers of the config form action menu support now have more control
over the appearance and display of the menus. New events are triggered
prior to showing and removing the menu, allowing consumers to make any
additional changes they need to make.

The rows for each action in a menu now have a class name corresponding
to the action ID, to improve styling. The padding around the menu has
also changed to be more consistent, so that, for example, an action can
have a suitable border separating it and other actions.

The display of the action menu is also smarter. It no longer assumes the
actions can fit on-screen when positioning the menu to align with the
left of the action button. Instead, if there's not enough room, the menu
will be positioned to align with the right of the button.

Action items in the menu can also now be enabled/disabled based on a
given property. This is helpful for having one action affect others, or
to limit which actions can be toggled based on other computed state.

Unit tests were added for the event and property additions.

Tested all the conditions manually and made use of most in another change.

Unit tests pass.