Configurable ContentProviders

Adds two things.

1. The ability to add content providers dynamically through the admin screen. It works for providers that follow a simple pattern: Extract a single piece of data from the URL, and then output HTML using that parameter as an argument. That, or output a script reference that contains document.writes. This allowed me to delete 8 built-in content providers which removes a lot of hard coded urls, patterns, etc, and replace them with 'default' configured providers.

2. The ability to turn off other content providers that are still built-in. Turning a content provider on/off does require restarting the app though, due to the way the application settings object is injected. I could have redone that but it would have been more disruptive than I thought worth doing. A message on the admin page indicates a restart would be required.