maint: relax spec test of resources

The resource_spec performs some comparisons by using the equal_attributes_of
matcher. This is mostly correct, but considers some instance variables that are
of no consequence to the resource, e.g. @rstype. As a result, internal changes
to Puppet::Resource that may lead to this attribute not being set in a resource
that is generated from YAML would break this expectation:

expected
Foo::Bar[xyzzy]{:name=>"xyzzy", :one=>"test", :two=>"other"}
to equal attributes of
Foo::Bar[xyzzy]{:name=>"xyzzy", :one=>"test", :two=>"other"}

This is not only difficult to debug, it first and foremost misses the intention
of the example, which is only concerned with RAL attributes, not "internal"
instance variables.
(PUP-1381) issue warnings to current users of cron purging

A behavioral fix is planned for the 4.0 release. The final
3.x point releases should issue early warnings to users who employ
the functionality that is about to change.
(PUP-1381) make file_setting spec test more robust

A new call to self.resource_type in Puppet::Resource#initialize can cause
the loading of type code as a side effect. This interfered with the mocking
for the test

Puppet::Settings::FileSetting when being converted to a resource
should manage existent files even if 'create_files' is not enabled

Add a stubs call to one of the uncritical expectations so that
additional calls are not considered as spurious.
(PUP-2360) Yumrepo type allows invalid values

None of the regexpes was actually looking for the whole value to match,
just any part of it would suffice.
Merge branch 'pull-2575'
(PUP-1381) Add link to explanation of message

Our standard practice for deprecation messages is to provide a link that
can point to more information than the message can provide.
Merge branch 'pr/2492'

* pr/2492:
  (PUP-1381) Add link to explanation of message
  (PUP-1381) make file_setting spec test more robust
  (PUP-1381) issue warnings to current users of cron purging
  maint: relax spec test of resources
(PUP-1070) cleanup empty/invalid lockfiles

Currently lockfiles won't be cleaned up automatically if they're empty or contain
non numeric characters.

This commit solves this by verifying that the content of the lockfile
contains a number or otherwise return nil which will result in deleting
the pidfile.
Merge branch 'ticket/master/PUP-1070-cleanup-invalid-lockfiles'

* ticket/master/PUP-1070-cleanup-invalid-lockfiles:
  (PUP-1070) cleanup empty/invalid lockfiles