Handle encoding/decoding
When writing files or issuing commands, bytestrings are passed through
unchanged, and text strings (`unicode` in Python 2) are encoded using
a configurable encoding (`utf-8` by default).
When reading files, bytestrings are returned by default,
but an encoding can be given to get a test string.
For command output, separate `stdout_bytes` and `stdout_text` attributes
are provided.
The latter uses a configurable encoding (`utf-8` by default).
Fixes: https://pagure.io/python-pytest-multihost/issue/7