Previously, `--extract` would fail on Python 3:
```
Traceback (most recent call last):
File "/Users/andy/.virtualenvs/sops-py3/bin/sops", line 11, in <module>
load_entry_point('sops', 'console_scripts', 'sops')()
File "/Users/andy/forks/sops/sops/__init__.py", line 278, in main
write_file(tree, path=dest, filetype=otype)
File "/Users/andy/forks/sops/sops/__init__.py", line 1321, in write_file
sys.stdout.write(tree.encode('utf-8'))
TypeError: write() argument must be str, not bytes
```
This patch changes the behavior of `-r` to make it behave like the
encrypt, decrypt or editing mode: it is now a full roundtrip over an
existing encrypted file that decrypts, creates a new data key, encrypts
and encrypts the data key with all master keys. This new mode makes it a
lot easier to rotate data keys without having to edit files.