Add encoding support

Pathwatcher got encoding support in https://github.com/atom/node-pathwatcher/pull/36 so this integrates that support into the `TextBuffer` API.

Basically adds a `getEncoding` and `setEncoding` and reloads the contents from disk when the encoding changes.

Closes #22