cleanup id attribute, document
Build atop Plack::Request:

Plack::Request has implemented much of the functions provided in
Dancer2::Core::Request, and has done so better.

This commit makes a bunch of changes to build atop Plack::Request.

The following are now deferred to Plack::Request:
* method
* content_type
* content_length
* address
* remote_host
* protocol
* port
* user
* request_uri
* script_name
* secure
* referer
* user_agent

New:
* content_encoding

At the same time, Core::Role::Headers is just using the internal
methods for "header" and "push_header" instead of providing them.

Tests have been adjusted.
Set Plack::Request as attribute:

I was trying to save up on an unneccessary attribute (since it
should only be created once and never access externally), but
accidentally created the object every single call. Whoops.

DavsX++ :)
Allow single-argument request constructor:

Plack::Request has a single-argument constructor:

    my $request = Plack::Request->new($env);

Now Dancer2::Core::Request, to make it obvious to people used to
Plack::Request, has that too:

    my $request = Dancer2::Core::Request->new($env);

Although the regular form still works:

    my $request = Dancer2::Core::Request->new(  env => $env  );
    my $request = Dancer2::Core::Request->new({ env => $env });
reflect changes
Merge branch 'fix/request-cleanup'