Pluggable privilege escalation mechanism

Ensured that sudo_user is set in ansible-playbook and ansible
Changed test for what to set sudo_user as
Fixes to elevated privileges so that configuration works
Fixed the logic that determines whether to ask for a password
In the case of using the su elevator without sudo, the root password
was asked for even though not required
Use the new utils.make_sudo_cmd where appropriate
Use the new utils.ask_password
Merged constants.py with devel version
Corrected use of make_sudo_cmd to return cmd, prompt and not vice versa
atomic_replace now works with su as well as sudo
Use su - rather than just su