Add encoding to handle Unicode characters.

TODO:

- [x] Add `charset` to HTML
- [x] Add `charset` to `index.html`
- [x] Determine why the build is failing on Travis
- [x] Test UTF-8 files on Windows
- [x] Determine if any other file types support encoding (YAML, Markdown, Text, etc.)
    - They don't.
- [x] Refactor decode/encode read/write into two common functions