(PUP-724,#21922) Autoload compares only integer secs

Although the ultimate reasons have not been tracked down, there have
been occasions where the Puppet::Util::Autoload.changed? method will
erroneously report that a file has changed based on an mtime having
seemed to change nsecs, despite no evidence of this being seen in the
file system.

The previous implementation was comparing mtime (Ruby Time instances)
and the nsecs seem to be volatile under unknown conditions. When it does
break, this was manifesting as a failure to autoload
puppet/util/instrumentation/listeners/log.rb (the instrumentation code
is relying on Puppet::Util::Autoload for initial loading but does not
expect its listeners to be reloaded, and they are not written in such a
way as to be reloadable...) (see PUP-724 and its associated tickets for
details).

The work around is to instead just compare integer secs.
Merge pull request #2214 from jpartlow/issue/master/pup-724-autoload-mtime-test

(PUP-724,#21922) Autoload compares only integer secs
(PUP-724,#21922) Autoload compares only integer secs

Although the ultimate reasons have not been tracked down, there have
been occasions where the Puppet::Util::Autoload.changed? method will
erroneously report that a file has changed based on an mtime having
seemed to change nsecs, despite no evidence of this being seen in the
file system.

The previous implementation was comparing mtime (Ruby Time instances)
and the nsecs seem to be volatile under unknown conditions. When it does
break, this was manifesting as a failure to autoload
puppet/util/instrumentation/listeners/log.rb (the instrumentation code
is relying on Puppet::Util::Autoload for initial loading but does not
expect its listeners to be reloaded, and they are not written in such a
way as to be reloadable...) (see PUP-724 and its associated tickets for
details).

The work around is to instead just compare integer secs.
Merge branch 'stable'

* stable:
  (PUP-724,#21922) Autoload compares only integer secs
(#7173) Add HTTP basic auth support to HTTP reporting in Puppet.

Does the following:

 * Add logic in Puppet::Reports::Http to properly handle HTTP basic auth using the form http://username:password@host/path
 * Add a unit test to make sure HTTP basic auth is done if it is given in the url
(PUP-1068) Add basic auth to HTTP Connection

Sometimes a request needs to perform authentication. We can support this
with basic auth readily enough.

This commit moves the basic auth support from the report processor and
makes it a capability of the network connection code. As part of this it
needed to move away from using the #get, #post, etc calls on the
connection object and instead construct the Net::HTTP request objects.
This might present a slight change in behavior, but not one that users
will normally notice. The most noticable change is that the #request
method can no longer be used for calling arbitrary methods on the
underlying connection, instead it can only be used to call to the
appropriate request method (get, head, delete, post, put)

In order to make this work more clearly, this also adds actual
parameters to the connection class's #get, #post, etc methods. The
defaults are taken from the Net::HTTP defaults, which is what would have
been used before.