This moves around a bunch of functionality and attempts to isolate setup steps into discrete functions (new or existing), making them easier to consume from outside of Devstack (ie, Grenade). Change-Id: I480167dcc008506ec2fe8c412db4114b74496e60