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.