Refactored autodeploy into class extension.
Added tests.
Added tests: take two.
Lint and QA tweaks.
Merge pull request #503 from kadams54/autodeploy-mixin

Extract autodeploy functionality out for use in multiple widgets.

Refactor the autodeploy code out so that it can be used by both the machine view panel (as it is currently) and the deployer bar, which will need it to allow users to autodeploy unplaced units at deploy confirmation time.
Update the ghost model on Juju ACK of machine creation instead of deleting the model
Created a yui-patches module as the sole place to put monkeypatches to the YUI source tree.
Update the machine model id when the juju ACK comes in using the new lazy-model-list method updateModelId
Created is machine committed method
Fixed tests to support new updating of machine models on creation instead of destroying
Merge pull request #504 from hatched/update-ghost-models-1348163

Updates the handling of the create machine callback handlers to update the existing model instead of destroying and re-creating

Destroying and re-creating the machine model caused the tokens to disappear then re-appear when the deltas came in. Updating the models instead keeps them in the DOM.

Created a new module called 'yui-patches' as a place to put monkey patches to the YUI codebase.
Created 'More menu' widget and added it to the unplaced unit token.
Updated have the rendering called from the machine view.
Updated unplaced unit token shadow to match mockups.
The menu should close when an item is clicked.
Reinitialise the more menu if it has to be re-rendered.
Manually close all the more menus when opening a second menu.
Only check for one open menu.
Test that only one menu is open at once.
Changes from hatch's review.
Added changes from Rick's review.