FIX basic_auth_header for binary input
COSMIT minor tweaks for w3lib.url + extra check for safe_url_string
FIX unicode handling in replace_escape_chars

b'binary text'.replace(unicode_arguments) was previously called
PY3 port w3lib.html to Python 3.

HtmlTests test case is split into more granular test cases and test methods;
some extra tests are added.