Fix dependency cycle in Puppet 3.7

In Puppet 3.7, `contain heat` from within quickstack::heat is going to
resolve to `contain ::quickstack::heat` instead of `contain ::heat`,
causing a dep cycle:

Error: Could not apply complete catalog: Found 2 dependency cycles:
(Class[Quickstack::Heat] => Class[Quickstack::Heat])
(Class[Quickstack::Heat] => Class[Quickstack::Heat])

In Puppet 3.6 the current code seems to behave correctly, and
furthermore it cannot cope with the fixed Puppet 3.7 syntax. If/else
branching based on Puppet version will break scenarios when using
different version of Puppet server vs. Puppet client. (Not a usual
scenario, but we shouldn't break it if we don't have to.)

Use `anchor` approach in the problematic spot, more info at:

https://docs.puppetlabs.com/puppet/3.7/reference/lang_containment.html#faux-containment-for-compatibility-with-puppet--340
cinder: fix class cycle dependency
Merge pull request #362 from jistr/dep_cycle_on_contain

Fix dependency cycle on Puppet 3.7
Merge pull request #369 from gabrielecerami/cinder-cycle-dep-fix1

cinder: fix class cycle dependency
BZ #1156183 - open ceph ports on ceph storage node

https://bugzilla.redhat.com/show_bug.cgi?id=1156183

Open osd-related ports on ceph storage node.
Merge pull request #395 from cwolferh/add_ceph_osd_firewall

BZ #1156183 - open ceph ports on ceph storage node