Refactor launch_server code into supervisor.py

This makes the role of supervisor.py a bit more explicit.
All functions and classes that are geared towards creating
and destroying individual servers have been moved to supervisor.py,
leaving controller.py for the more abstract autoscaling operations.
Merge pull request #611 from rackerlabs/consolidate-launch-server-2

AS-167 Refactor launch_server code into supervisor.py