Move building of method/path/path_info in 'default'

I changed the definition of those attributes such that we could
assign them at creation-time, like so:

    my $req = Dancer::Core::Request->new(
        path   => '/foo',
        method => 'GET',
    );

As the core was, a provided path would have been clobbered by
the call of '_build_path' within 'BUILD()'.

Also set the default method to 'GET' is nothing in found
in the environment, which seems (at first thought) to make
sense.

NOTE: I have a few more pull requests coming down the pipe.
Basically, I've hacked willy-nilly in my 'migration-doc' branch,
and now I'm tidying the whole thing and splitting it in feature
patches. If I'm sending you too many pieces, or am going in a direction
that fills you with dread, please tell me to stop. :-)
@{$resp} as shortcut for $resp->to_psgi

It looks evil, but it's mostly to deal with what the
next commit does with Test::Dancer::dancer_response
(namely, return the response object instead of its
psgi representation) so that I don't break all tests
under the sun.
$Test::Builder::level not high enough
testing Dancer::Test
making dancer_response more flexible

two major changes to dancer_response

1. it now returns the response object directly instead of its psgi representation.

2. it now accepts its input in several ways:

2a. ( $method, $action, $options ) -- as before

2b. ( $action ) -- shortcut for ( GET => $action )

2c. $request_object -- take the request object as-is

2d. $response_object -- pass the object as-is, useful for the test
functions using dancer_response, so that we can have:

   my $res = dancer_response '/foo';
   response_content_is $res => 'yay';
   response_status_is  $res => 200;
Merge branch 'review/yanick/dancer-test'
Use lazy attributes with builders for path and path_info in Dancer::Core::Request

This change also made it obvious that it's safer to cloen the env in
make_forward_to().
more weaving
now all existing pod should be woven
fix no tab issue
Merge branch 'review/mokko/devel/weaving-pod'
add dzil perltidy
make travis play with dzil perltidy
Merge branch 'review/mokko/devel/perltidy'
allow before hook to populate the response's content

This patch is to accomodate plugins that needs to short-circuit
the route's main code (in my case, that's D::P::Cache::CHI).

With this patch, if the 'before' hook halts the response,
the response content is taken from whatever the hook put in
$context->response->content, not from $route->execute($context).
The grooming of the content (serializing, content-type filling,
content encoding), however, is still done.
Merge branch 'review/yanick/before-halt'
new test for making sure default tokens are set
the contrib app is modified to demonstrate what is wanted
Support for config sharing between applications.

The main idea behind this change is to allow an app to pass one or
more config entries to another app, when it 'use's it.

	package MyApp;
	use Dancer 2.0;

	set session => 'YAML';
	use Blog with => { session => engine('session') };

In this example, the session engine is passed to the "Blog" app.
That way, anything done in the session will be shared between both
apps.

Anything that is defined in the config entry can be passed that way.

If we want to pass the whole config object, it can be done like so:

	use SomeApp with => { %{config()} };
Merge branch 'topic/shared-engines'