app_test.py: Cleans up logging handlers.
hook,processor: Adds wait_time() scripting callback hook.

Closes chfoo/wpull#114.
Moves OrderedDefaultDict from util to collections.
Moves DeflateDecompressor, gzip_decompress from util to decompression.
Moves sleep,TimedOut,wait_future,AdjustableSemaphore from util to async.
Moves string releated functions from util to string module.

Moves to_bytes, to_str, normalized_codec_name, detect_encoding,
try_decoding, format_size, printable_bytes, coerce_str_to_ascii from
util to string.
Merge branch 'topic/code_cleanup' into develop
Removes extended module.
url.py: Adds is_likely_link().
Implements JavaScript link scraping.

Adds JavaScriptReader, JavaScriptScraper.

Re: chfoo/wpull#74.
document.py: Improves JS regex to scrape absolute URLs with space.
Adds unit tests for wait_time() hook.
Merge branch 'issue/114-wait_time_hook' into develop
Merge branch 'release/v0.32.1' into develop
document.py: Catches any lxml.etree errors parsing doctype.

Closes chfoo/wpull#118.
scraper: Handles catching of UnicodeError/LxmlError. Allows partial scrapes.

processor: Don't catch UnicodeError.
document.py: Uses HTML parser on XHTML docs instead of XHTML parser.

The XHTML parser does not handle soup well.
version.py: Fixes wrong version from merge.
changelog: Updates latest to 0.33.
Merge commit '53afeb5378ea5d42c1e3caffcc7390583390a4e5'