[Libcloud-589] ProfitBricks Compute Driver Support

I have completed support for the ProfitBricks compute driver. This adds support for the core compute driver functions against ProfitBricks. The JIRA ticket can be found here:

https://issues.apache.org/jira/browse/LIBCLOUD-589

Let me know if there are any issues or if it can be accepted or not.

Thanks. 
-matt
@Kami I have fixed most of what you have raised. I'm now beginning to look at the Datacenter class to see if I can re-use the NodeLocation class. At the moment, I'm not sure if this would be the right approach. The ProfitBricks platform requires you to create a virtual datacenter (VDC) within which you place your instances. This is similar to the Cloud Service concept on Azure. The docs for NodeLocation indicate that this is the physical location of the nodes. A VDC is a virtual location. 

I agree that my Datacenter class looks basically like the NodeLocation class. My concern is with usability and users of ProfitBricks understanding that location equates to a virtual datacenter. Additionally, the VDC has a region versus country associated to it, e.g. Las Vegas vs United States. NodeLocation uses 'country'. 

As I expand this driver I will expand the Datacenter class to incorporate more features they support on the VDCs, e.g. doing a GET on a VDC will show you all objects attached to that VDC. This seems to all go beyond the scope of NodeLocation. 

Thoughts?