Add checking for module names (fixes taint):

GH #567 mentions taint mode not working. This is because we're not
checking the engine name strings. I don't know if this fixes it,
but now we're properly checking them using Module::Runtime.

There's now also a test for it.

Module::Runtime is required by Moo, and so does not add a new
dependency.
reflect changes
Merge branch 'feature/taint-mode'
Remove default engine configuration:

Default engine configurations are configurations that are
automatically sent to every engine. This makes no sense, because
each engine will have its own configuration.

An example would be a template engine that has a template object
inside it. The template object gets sent the default configuration.

The default configuration contains two keys - environment and
location - which either means nothing to the template object, or
it means something probably different.

Instead, these should be sent as attributes to the engines. They
can be configured in the Engine role and automatically fed. Thing
is, I couldn't find anything that actually uses them and needs
them, so I removed it completely.
reflect change
Handle a warning when setting to $_:

Perl 5.18 doesn't like us setting $_, so we change it to a more
explicit - yet not as nice - code.
Move environment/location from Engine role to Logger::File, give defaults:

Dancer2::Logger::File actually needs the attributes environment/location
which we removed in this branch. It is set in the Engine role.

This commit does two things:
1. Put those attributes in the File logger module
2. Give them the proper values using the App via the Context

The 2nd item is the most horrible way of doing it. I'm not sure how else
to do it, but it will need to be changed as part of the Context decoupling
work which is something we definitely want to do.
update changes
environment and location can be lazy:

In GH #578, Russell explains that if the File logger
(Dancer2::Logger::File) is created with a declared log_dir and file_name,
these attributes aren't used or needed. We save memory/CPU on this. Why not?
whoops, compilation error