it's time we added some global options and stopped passing do much as args.
make protocol stripping into an option (when linking within code examples, it's confusing).
added some failing tests for URLs which contain encoded entities at the end.
because we try to strip trailing punctuation, we can end up breaking entities.
we need to start decoding the detected URL, doing formatting, then re-encoding it.
decode URL before stripping trailing punctuation, then re-encode on output.
this fixes the broken tests.
it should also fix a potential bug when a url gets truncated halfway through an entity.
added test for numbered entities at the end of a URL
added some failing tests for stripping of multiple trailing punctuation
typo
strip any amount of trailing punctuation from URLs