Change PUT to handle content like POST

The documentation for LWP::UserAgent::put says:

$ua->put( $url, \%form )
$ua->put( $url, \@form )
$ua->put( $url, \%form, $field_name => $value, ... )
$ua->put( $url, $field_name => $value,... Content => \%form )
$ua->put( $url, $field_name => $value,... Content => \@form )
$ua->put( $url, $field_name => $value,... Content => $content )

    This method will dispatch a PUT request on the given $url, with %form
    or @form providing the key/value pairs for the fill-in form content.
    Additional headers and content options are the same as for the get()
    method.

But the calls with %form or @form do not set the content because
HTTP::Request::Common::PUT does not accept such parameters and
LWP::UserAgent uses HTTP::Request::Common::PUT to build the request.

This change enhances HTTP::Request::Common so that LWP::UserAgent::put
will work as documented.