implemented project_deploy

Right now this just creates/starts the VM. I would appreciate it if people would review this. A few notes/open questions:

* Part of the docstring for `haas.api.project_deploy` mentions additional possible errors. The ones I'm thinking of non-zero exit statuses from the calls to libvirt. `check_call` will throw an exception in these cases. I'm don't have a full solution mapped out in my head right now, but we're not handling this properly. issues #38 and #78 are relevant.
* I mention that we should be at least logging instances of a project with no headnode being deployed (probably reporting an error to the user), but I haven't put that in yet because we need to do some base initialization of the logging module somewhere (presumably during program startup). This isn't hard, but needs to be done. See also issue #75.