Use correct encodings when reading requirements & readme

Right now, when running setup.py in a environment with LC_ALL=C, e.g.
a distribution package build environment, it will fail with unicode
decoding errors.

Rework the file reading logic to use the correct character sets where
applicable (note that the ast parser takes bytes, not unicode).

Tested with python 2.7 and python 3.1 and later.