Group autocommands / Minor refactoring

#### Group autocommands 
Hopefully fixes #230.

This patch group autocommands so that they cannot be registered twice. For no apparent reason (at least to me), inside `ftplugin/go.vim`, checking for the existence of the variable `b:did_ftplugin` for stopping the sourcing of the file does not work because it seems that the variable it is always non-existent when the file is re-sourced after executing a command such as `set filetype=go` (this is something to look at more deeply). 

#### Refactoring 
I've refactored a `ftplugin/go.vim` a bit to make it more succinct. I've replaced the use of the `exists` function with the `get` function.