Set smaller shiftwidth for JavsScript and JSON

This expandtab autocmd was redundant as I already set expandtab for all
filetypes. Now it sets special shitfwidths.
Add some more filetypes for vim to ignore

Specifically:
  * Session.vim (vim sessions made by Obsession)
  * node_modules (3rd party Node.js stuff I don't want to edit)
  * log files (doesn't ignore them, just lowers their priority)
Make vim reload file buffers when the file changes

So far I'm not sure I've actually seen this working, but it should.
Set vim script encoding at the start of vimrc

Since the vimrc contains plenty UTF-8 characters and my locale doesn't
use UTF-8 on all machines, this is much better set right at the top of
the file, before vim encounters any UTF-8 characters and does strange
things with them!