Just FYI, I've started fixing this in https://github.com/apache/libcloud/pull/116

This is still some nasty stuff going on (e.g. https://github.com/apache/libcloud/pull/116/files#L2R73), but overall it should still be an improvement.