Added code to check declared encodings first 

from kennethreitz/requests/utils.py.  Also I added some superset encodings I have found in Chinese pages that are mishandled by chardet/character declarations.  For example, gb2312 is often declared when the text contains characters not supported and the computer system will actually use gb18030 to encode/decode, which is a superset.

There's no netcode in the main functionality of this project, but anyone using this project should check content encoding headers in the HTTP response.  Maybe a simple wrapper can be made to handle the HTTP request in the future.