Add OpenStack Designate provider

This adds full support for [OpenStack Designate](https://wiki.openstack.org/wiki/Designate).

I tested this using HP Cloud DNS using the below configuration:

```
name: hpcloud
provider: designate
url: https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0
credentials:
  tenantId: 12345678910
  username: my_username
  password: my_password
```

This almost works against Rackspace Cloud DNS, except its api is slightly different.  For example, it returns a 404 when there are no domains or records whereas designate returns a 200 with an empty array.