providers/cloudstack: initial commit

First stab at a fully functional CloudStack provider. Needs just a
little more work and some tests before it can be put into a PR.