(maint) Remove property metaparam shadowing

Commit aa8d0914 (in 2008) added a @shadow instance variable, ostensibly
for handling cases where a type declared a property with the same name
as a metaparameter. It was meant to allow the shadowed metaparameter
to coexist but was not fleshed out as such. The shadowed parameter is
not directly exposed in any meaningful way, and most metaparameters
are not accessed in the same manner as parameters, they usually have
dedicated methods for setting and retrieving those fields. In the cases
where metaparameters are not accessed in a specific manner (such as the
schedule metaparameter) defining a duplicate property makes Puppet crash
instead of handling it, so the shadow variable doesn't actually address
the duplication issue.

This commit removes all references of metaparameter shadowing from
property.rb.
Merge pull request #2735 from adrienthebo/maint/puppet-4/remove-property-shadowing

Maint/puppet 4/remove property shadowing