Add ControllerAwareInterface

Allow for models to receive the controller object when the controller
instantiates them as part of the view process.
Change the signature of CacheableInterface

This solidifies the parameters that will be passed from the
OutputController.
Send the proper parameters to match the CacheableInterface signature
Fix Controller cachaable signature and use ControllerAwareInterface
Move controller adjustment logic in cacheable models into preRun

This prevents problems that occur when the model output is cached and
the PostRunReplacements not longer get set.
Make the Savvy escape method warning safe

If the escape method has not been set, avoid iterating over null.
Remove sec_header class
Fix validation/a11y issue with duplicate ID's and table headings

The description id was duplicated because of the TOC plugin and the
table headings were ambiguous due the the non-semantic use of a second
table header row.
Fix a11y contrast issues
Remove unnecessary duplicate ALT content on college images.

Provided by the link text context.
Add missing ControllerAwareInterface implementation.
Add test for ensuring "Major" view caching works for json and html

This confirms that the JSON rendering is not included in the html
rendering (after json cached). It also ensures that the
PostRunReplacements are run, even for objects that have been cached (to
ensure the pagetitle, etc are set)
Merge pull request #705 from kabel/cache-corrections

Fix issues resulting from intermediate cached models