Provided better error for unit hosting on state server.
Make pre-push hook a little more friendly

 * If deleting a remote branch; don't do the full verification pass.
 * If there are no changes to push, don't do the full verification pass.
 * If there are unstaged or uncommitted changes then the verification
   pass doesn't really help, so prevent pushing when there are unstaged
   or uncommitted changes.
 * If there are no .go files in the changelist, skip full verification
   pass.
Provided better error for unit hosting on state server.
Bug 1378792
Refactored common functionality to base struct based on review comments.
Bug 1378792
dumb move of everything context-related into new package
Noted tech-debt bug.
Bug 1378792
Merge pull request #913 from anastasiamac/Bug1378792-friendly-error-message

Provided better error for unit hosting on state server.

http://reviews.vapour.ws/r/174/

Added 2 tests to exercise additional paths - TestAssignStateServerNonLocalCannotHostUnits and TestAssignStateServerLocalCannotHostUnits.
roughly chop context package into separate files. tests not touched, can't quite bear it right now
Cleanup TODO comments
Merge pull request #924 from johnweldon/actions-apiserver-auth

Cleanup TODO comments

Unneeded TODO comments, and a couple TODO comment tweaks
(The authorization check when creating the actions facade covers all our authorization needs)
maas: static-ipaddresses capability detection
Move actual verification script to it's own bash file to facilitate non hook use
Merge pull request #925 from dimitern/maas-provider-static-ipaddresses-cap

maas: static-ipaddresses capability detection

Now the environment capability SupportsAddressAllocation
actually uses the MAAS version API to check if the needed
"static-ipaddresses" capability is supported. Bumped the
gomaasapi revision in dependencies.tsv.
Add some notes.
Add a test for Metadata.AsJSONBuffer.
Satisfy the test.
Merge pull request #927 from ericsnowcurrently/backups-metadata-file

Backups metadata file
Cycle through azs till we find one that works
Merge pull request #930 from wallyworld/better-openstack-az-placement

Cycle through azs till we find one that works

Update the openstack provider to behave more like ec2. If an attempt to start an instance on an availability zone fails because openstack says there are no available hosts, then try another zone till we find one that works. The provider previously just picked the first zone and didn't try any others.

Fixes: https://bugs.launchpad.net/juju-core/+bug/1380557
Add execute bit!