Introduce ConfigReader role:

The current Config role sucks. It includes irrelevant attributes,
it includes all the triggers, and is a source of pain and distraught.

The ConfigReader role has a better separation of concerns:
- It includes local triggers that can be overridden by the consumer class
- It includes global triggers for every consuming class

The local triggers override any global triggers.
Replace Config role with ConfigReader role:

Now that we have ConfigReader, we can define the App-relevant
attributes (the different engines: session, template, logger,
serializer) in the App class.

We also define the local triggers for any of these engines
locally.

A test has been revised and updated to make this work.
Update Config role test to check ConfigReader role:

The relevant test for the Config role has been updated. It was
also oddly using the role as a class. WTF. Fixed.
Update Runner to use ConfigReader role:

No other changes necessary. Let's hold our fingers.
Remove Config role entirely in favor of ConfigReader:

Update all references to Role::Config and replace with Role::ConfigReader.
reflect changes
Merge branch 'mickey/config_cleanup'