Bug fix: string quoting in js_obfuscate

The string passed to js_obfuscate was not being properly escaped.
Test coverage
Bug fix: the function name is ``sorted`` not ``sort``
More test coverage
Fix OptGroup.__repr__ to list its arguments in the correct order
More test coverage
Add missing ``import sys``

This fixes format_exception() so that it works when called with
``exc=None``.
test_number: coverage and test fixes

In particular the test for median() was just wrong.
Fix median() to work correctly with even-length sequences.

Also fix the "can't calculate median of empty collection" exception
message.
More test coverage
Fix ordered_items() in py3k when other_keys is set
More test coverage
Bug fixes in webhelpers2.text

Fix two bugs uncovered by coverage testing:

- excerpt() puked when text was a literal
- fill_paragraphs() puked when width was a TextWrapper instance