Correct path resolution methods:

Both path() and path_info() were implemented incorrectly. Instead
of being a conduit to PATH_INFO and PATH_INFO || '/', they were
used as SCRIPT_NAME . PATH_INFO or something.

This was also incompatible with Plack::Request.

This cleans it up and adds a test for it as well.
update test for correct path, add check for script_name, request_uri
update damned test
Merge pull request #752 from PerlDancer/fix/path

Correct path resolution methods:
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++ :)