fixed issues with unicode and python3

Changed the behaviour of get_page_contents, now return decoded str
with correct charset (obtained from content header). If charset isn't
specified use utf-8