Fixes for register_dns

- no longer attempt to register the same name multiple times if multiple
  roles on the same host are configured with the same hostname
- update the load balancer dns in the same nsupdate as the host dns
  entries

addresses the following error when running vagrant-openshift based devenvs:
```
    [1;35merr: /Stage[main]/Openshift_origin::Register_dns/Exec[Register openshift.ec2.internal]/returns: change from notrun to 0 failed:   (
     
      echo server 10.33.160.203
      echo update delete openshift.example.com A
      echo update add openshift.example.com 180 A 10.33.160.203
     
      echo server 10.33.160.203
      echo update delete openshift.example.com A
      echo update add openshift.example.com 180 A 10.33.160.203
     
      echo server 10.33.160.203
      echo update delete openshift.example.com A
      echo update add openshift.example.com 180 A 10.33.160.203
     
      echo server 10.33.160.203
      echo update delete openshift.example.com A
      echo update add openshift.example.com 180 A 10.33.160.203
     
      echo server 10.33.160.203
      echo update delete openshift.example.com A
      echo update add openshift.example.com 180 A 10.33.160.203
     
      echo send
    )| nsupdate -y HMAC-MD5:example.com:slPkQt2ESB7R/dMs50WoXn5gGltjUIhFm83tJfHpGwF5Qha7OTsnalXk28de3Ov/ZpByw8Y+2gUyjahHm9eKIg==
     returned 1 instead of one of [0] at /etc/puppet/modules/openshift_origin/manifests/register_dns.pp:32[0m
```

other resource ordering fixes:
- avoid restorecon for nameserver if not needed
- ensure that nameserver role is applied before other roles on
  co-located hosts
- ensure that datastore and activemq roles are applied before
  the broker role on a co-located host
- contain classes where needed using the anchor pattern