(GEP-192) Assume :: prefix on name references for Puppet >= 4.0

Dynamic scope resolution was removed in Puppet versions >= 4.0
and all references can be assumed to be prefixed with '::'
(GEP-192) Prevent that a type definition is found within itself

A definiton or class is not visible within its own declaration. The
if-statement that checked this was at fault and is corrected by
this commit.
(GEP-192) Names of platform resource types are reserved

Ensure that names of resource types defined in the target platfrom
are reserved and that using them as names result in errors.
(GEP-192) Fix failing test

A test relied on that something found by the scanner was reported
as "Not found on search path" although the declaration was found
in the same file as the reference. This commit adds a file that
makes a reference from another file, thus testing both cases
(found in search path and not found).
Merge pull request #49 from puppetlabs/issue-192

(GEP-192) Problems with reserved names and scope resolution.