Encode binary literals as ASCII string.

The string comparisons in `_parse_header` fail in Python 3,
because `b'value' == 'value'` evaluates to false.
Applied patch from “2to3”.
Encode header as ASCII binary string.
Explicitly convert property names to str

This is necessary for Python 2.
Use xrange in favor of range when available

The definition of `range' changed between Python 2 and Python 3: Python
3's `range' is closer to Python 2's `xrange', which is normally
preferred on Python 2.  This commit should use the right one on both
Python versions.
Make test/test.py compatible with Python 3

This required two changes:
- using range in Python 3, as was done in plyfile.py in previous
  commits;
- using the print function and not the print statement.
Bump version
Update README.md

Specifically:
- Reword installation instructions:
  - be more succinct & explicit about dependencies
  - add note on numpy 1.9 bug (with workaround)
- Fix a minor formatting issue