Accomodate services where zone name is not unique

fixes #167 per https://groups.google.com/forum/#!topic/denominator-dev/bi6EnsFISyY

You should now lookup record sets in the form:
```java

for (Zone zone : dnsApi.zoneApi()){
   rrsetApi = dnsApi.basicResourceRecordsInZone(zone.idOrName());
   // do stuff
}
```

The CLI `zone list` command now prints out zone ids when present.

```bash
$ denominator -p route53 -c AAAA -c SSSS zone list
myzone.com. Z3I0BTR7N27QRM
adrianc.zone.route53test.jclouds.org. Z1KWEIO71EBZIB
adrianc.zone.route53test.jclouds.org. ZO6XA7CYZ0IBA
dyntest.netflix.net. Z1VO4BIB35Q8HU
```

The CLI `-z` argument can be either a zone name or id.  If the provider supports multiple zones with the same name, and you specify the zone name instead of its id, there will be a slight lag as the first zone is looked up.
```bash
$ denominator -p route53 -c AAAA -c SSSS record -z adrianc.zone.route53test.jclouds.org. list
adrianc.zone.route53test.jclouds.org.             NS     172800ns-927.awsdns-51.net.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-1875.awsdns-42.co.uk.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-1051.awsdns-03.org.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-206.awsdns-25.com.
adrianc.zone.route53test.jclouds.org.             SOA    900   ns-927.awsdns-51.net. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
$ denominator -p route53 -c AAAA -c SSSS record -z ZO6XA7CYZ0IBA list
adrianc.zone.route53test.jclouds.org.             NS     172800ns-1850.awsdns-39.co.uk.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-1270.awsdns-30.org.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-920.awsdns-51.net.
adrianc.zone.route53test.jclouds.org.             NS     172800ns-39.awsdns-04.com.
adrianc.zone.route53test.jclouds.org.             SOA    900   ns-1850.awsdns-39.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
```