Extract converge function from duplicates

This is a refactor of the maybe_execute_scaling_policy and
obey_config_change into a new function, converge, which is intended
to be a central point which we can extend to support Heat-based
orchestration.

Some minor changes in the wording of log messages have been made,
since the code duplicates did logging differently.
log is not a twiggy log
add direct unit tests for converge
use SynchronousTestCase.
Factor out mocking code to be shared
Merge branch 'master' into controller-converge

Conflicts:
	otter/test/test_controller.py
Merge pull request #616 from rackerlabs/controller-converge

AS-192 Extract converge function from duplicates