refactor part 2/2

@bellycard/infrastructure 
More refactor.  More tests.
It looks like tags on members are a hash, but tags on services are an array (http://www.consul.io/docs/agent/http.html#agent). We'll need to change this accordingly. Thoughts on: `'Tags' => [ "az-#{availability_zone}" ]`?