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
Merge pull request #362 from jistr/dep_cycle_on_contain

Fix dependency cycle on Puppet 3.7