Adds sudo check for privileged operations.

Adds root user check to determine whether or not sudo is required
for MySQL status and installation.  We now run sudo -l to verify
that the user is in the sudoers file, the credentials are then
cached for the rest of the operations.

bug 1181701

Change-Id: I294b269046ee2049b0fdee3c871096387cefbf24
engine : cleanup Resource.update error paths

The current update code uses a nasty pattern where returning an
arbitrary string from Resource.update is interpreted in parser.Stack
as an error.  Instead use exceptions which is much nicer :)

Change-Id: I2ddebfd6bbec3dc229012406da72dd928fcc4595
engine : remove unused update states/status

We have some aws-isms in the update code related to different
update states, which is not actually used anywhere, so may as
well remove it - it's probably easier at least for now to focus
on the three update states of COMPLETE/FAILED/REPLACEMENT

Change-Id: Ieeaf92ab0fec6bbfab3dddf2d8fecb0b38c1b2fc
UpdateStack for AWS::AutoScaling::ScalingPolicy

Implemented update support of the ScalingPolicy resource
in an existing stack. ScalingAdjustment, AdjustmentType,
and Cooldown properties are allowed properties for update.
A handle_update method is added to update differences in
the template.

Change-Id: Ieeae93560a315a8a35c6fb2d8f1d78a89123bec3
blueprint: scalingpolicy-update-stack
Merge "engine : cleanup Resource.update error paths"
Merge "engine : remove unused update states/status"
Merge "Adds sudo check for privileged operations."
Merge "UpdateStack for AWS::AutoScaling::ScalingPolicy"