Remove external dependancies from inside the package.
list dependancies in the setup.py, and make flake8 happy.
use charade (the chardet replacement) and make flake8 happy.
detect encoding via bs4 only if not given as constructor argument, and make flake8 happy.