BufferedFile.read() now returns byte strings instead of text strings

It is the right thing to do since we have no idea what encoding the file
is in, or even if the file is text data. BufferedFile.readline() is
unchanged and returns text strings assuming the file is utf-8 encoded.
This should fix the following issue:
http://comments.gmane.org/gmane.comp.sysutils.backup.obnam/252

Updated pull request with:
 * new unit test for non-utf8 data
 * docstring changes to avoid Sphinx warnings.
 * changelog update to please travis

Antoine Brenner