Refactored code to reduce amount of repetitive work in creating and filtering the set of wiki pages. The work of creating the set is now done on initialization, and the IWikiChangeListener methods are solely responsible for updating the set.

There's still no visible functionality apart from an empty admin panel and a
newly added permission. However, now 4 real unit tests replace 2 of the dummy
ones to ease validation of plugin behavior in the future.

Still I'm a bit lazy here, because for 100% code coverage I should probably
have added a functional test for the admin panel as well. Let's postpone this
to a later time, when there's more real content to check for.

Consider unit tests to be essential for QA of non-trivial stuff, so include
it here right from the start. Thanks to Odd Simon for a recent example
implementation in TagsPlugintrunk, that served as coding style guide to me.

Refs #9912: applied proposed patch of Micha Glave, but changed it a bit, because for compat reasons, table column 'summary' is added on upgrade from version 3 to 4. Please, test this commit and report if it still works with MySQL.

0.2dev: Copied _fixup_cc_list from the Trac core (trac.ticket.model) to replace the simplify_whitespace function. The CC list is now cleaned up on database insert. Previously, it would only be 'simplified' on Component creation, but not on Component edit. Removed instance of calling simplify_whitespace on the Component name variable. It seemed to be a misplaced call, which was probably intended for the cc variable.

0.2dev: Refs #4919: Modify CC list at the time of ticket creation, rather than after the ticket is created. This avoids an immediate comment change and email notification. Strip leading and trailing whitespace from the ticket. Thanks to Pete Suter with hints on the implementation.

This introduces a new option internal_css for the equally new upstream
configuration section wikicalendar. False is the default and that's fine,
unless you really need to force reading CSS style definitions.

I tried with ITemplateStreamFilter, but had to learn, that wiki macros are
expanded only afterwards, so including style definitions into the HTML page
seems like the only alternative to trac.web.chrome.add_stylesheet() so far.