Allow OpenShift to start in roles master and node

Adds a "master" or "node" optional role argument to the start command.  Separates the --listen, --master, and --etcd parameters and makes them default to values that work for the local cluster more effectively.  Split code for starting components into their own packages.
Maybe - it has to be the same when you load the files, so if you change it you'll break your startup.  Nested etcd is a weird one - I'm not sure how long we'll do this (or whether it'd be a production thing).