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.
I think when I wrote this a few months ago, it was because I was having trouble making heads or tails of the libvirt api, and just wanted to get something working (the CLI doesn't actually make more sense, I'm just used to it). It's that way in this patch because it was just moved (this isn't new code). I'll submit a separate issue for this.