Several improvements

* add shell option

* fix relative/absolute path. now we can call orchestrator.py from any
path

* improve cmd execution util

* change servers to server_ids
Merge pull request #11 from changbl/working

Several improvements
* add txnal option: whether auto delete servers upon exception

* add userdata: for auto executing a script in late boot stage

* add _checkin_chefserver()
txnal => atomic
Merge pull request #12 from changbl/working

atomic, userdata and checkin_chefserver
Use IP address instead of hostname for chef server url

In multihost nova-network deployment, hostname doesn't always
work. Use IP instead.
Merge pull request #13 from maoy/ip

Use IP address instead of hostname for chef server url
Bootstrap chef client with IP-based url
Merge pull request #15 from maoy/url

Bootstrap chef client with IP-based url
Public IP for gateway, checkin chefserver (all VMs), and periodic poll

* chefserver can checkin (knife bootstrap) itself

* add floating ip to gateway

* periodic poll to check whether all servers are up
* print all exceptions in cleanup()

* add SshConnectionError, and catch more specific exceptions in
  polling
Merge pull request #14 from changbl/working

Public IP for gateway, checkin chefserver (all VMs), and periodic poll