This breaks some legitimate URLs like
http://en.wikipedia.org/wiki/Slash_(punctuation).
This is a necessary trade-off. Many other web systems do not handle that
case correctly either. The work-around it so escape the ) as %29.
This commit also improves the way the unit tests for this work.
It also fixes a couple of other tricky cases that were spotted in
the forums while this was being discussed. See the new test cases.
There are two well-known cases where the algebra filter messes up input
that is obviously not meant for the algebra filter:
1. Copy and paste of unified diffs.
2. @@PLUGINFILE@@ tokens in the HTML that are due to be replaced by the
files API.
This fix detects these two cases, and just stops the algebra filter from
replacing them.