support running client commands other than nova

This allows supernova to be used with other clients that work in similar ways, such as clients for other parts of the openstack project.