Support all JSON configuration options

As noted in issue #512 the current JSON serializer ignored most configuration
options, so pass them all through.
Tests for passing config options to JSON serializer.
Reflect changes; addes @nichtich as a contributor.
Merge branch 'feature/pass_all_json_config'
Add test to verify Handler::File returns correct content-type
Add a default_content_type attribute to the Response object.

Part I in refactoring default_content_type attribute from the Dispatcher
to the Response object. This feels a better fit; the only downside is there
is no back references to the context or app from the response.

Update encode_content() and to_psgi() to add this default_content_type
to the response if no content_type was previously specified.
Remove default_content_type attribute to the Response object.

Moves the logic of what content type to apply by 'default' into the
Response object, resulting in much simplier logic within _dispatch_route.

Big win is that the default content type is not applied until it is actually
required. Ref #550 and #551.
Revert "Update headers:"

With the default content-type not being applied to a response until its needed
(just before content encoding, or before the psgi response is generated), we can
restore the previous functionality of allowing other route handlers and hooks
to set the content-type before Handler::File renderd the static content into the
response.

This reverts commit 8171ae8ddb4d5aeafa2233066e0edbb743bf1014.
A test that ensures send_file content_type is correctly set.
Merge branch 'feature/refactor-default-content-type'
Reflect changes
runtime errors, such as those produced by die, should be serialized

send_error currently specifies the serializer to use, however, other
errors still produce an html page. The serializer can be obtained from
the context/app so all errors are rendered correctly.
Add test that demonstrates serialized dies
Reflect changes
Merge branch 'shumphrey-dir-error-render-with-app-serializer'
Fixes #538

Tries to coerce exceptions into strings.
Reflect changes
Merge branch 'shumphrey-handle-exception-objects-without-dying'
Fix Dancer2::Core::Error

Exceptions should not appear after the rendered error page when
show_errors is true
Dancer2 supports perl 5.8+

Should not rely on 5.10+ keywords such as //