Fix chardet test under Python 3 to read file as bytes
Split requirements-optional so chardet works on Python 2 and 3.

As the comment says, I am well aware how evil this is hardcoding the
Debian URL, but this allows for testing of all supported optional
extras, and given chardet is packaged for Python 3 in varies places,
this seems worthwhile to support.