text: Title: EncodingWarning when running with PYTHONWARNDEFAULTENCODING=1
  Body: When running with PYTHONWARNDEFAULTENCODING=1, I see a number of warnings:
  
  ```
  /var/folders/sx/n5gkrgfx6zd91ymxr2sr9wvw00n8zm/T/pip-run-p21p1hcv/xonsh/lazyjson.py:208: EncodingWarning: 'encoding' argument not specified
    self._f = open(f, newline="\n")
  
  /var/folders/sx/n5gkrgfx6zd91ymxr2sr9wvw00n8zm/T/pip-run-p21p1hcv/xonsh/prompt/vc.py:243: EncodingWarning: 'encoding' argument not specified.
    s = subprocess.check_output(
  
  /var/folders/sx/n5gkrgfx6zd91ymxr2sr9wvw00n8zm/T/pip-run-p21p1hcv/xonsh/procs/specs.py:182: EncodingWarning: 'encoding' argument not specified
    return open(fname, mode, buffering=buffering)
  
  /var/folders/sx/n5gkrgfx6zd91ymxr2sr9wvw00n8zm/T/pip-run-p21p1hcv/xonsh/history/json.py:306: EncodingWarning: 'encoding' argument not specified
    with open(self.filename, newline="\n") as f:
  
  /var/folders/sx/n5gkrgfx6zd91ymxr2sr9wvw00n8zm/T/pip-run-p21p1hcv/xonsh/history/json.py:317: EncodingWarning: 'encoding' argument not specified
    with open(self.filename, "w", newline="\n") as f:
  ```
  
  In other projects, simply adding `encoding='utf-8'` normalizes the behavior across platforms to the current behavior as observed on Unix and addresses the warnings. That's my recommended approach.