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.
It's not in Kubernetes yet (hardcoded into master).  There are changes upstream to fix that in motion now.