(#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.
Merge pull request #2219 from zaphod42/feature/master/pup-1068-submit-reports-with-basic-auth

(PUP-1068) Add basic auth to HTTP Connection and HTTP Reports