Added support for binary files

This was discovered while attempting to fixture an image. Inside this pull request:

- A unit test against binary files
    - Featuring a [gravatar classic][uber-gravatar]
- Additional fallback inside of `create_file_descriptor` to binary string after `ascii` and `utf8` encodings fail

[uber-gravatar]: https://secure.gravatar.com/avatar/e1aec73712d4c21ab7c7c1561133f65c?s=400

/cc @charlax @zheller