Execute "filetype detect" on BufFilePost to compensate for plugins
Add configurations for Ultisnips

Without this custom configuration, I could trigger a snippet with <tab>,
but then the jumping around within a snippet (with <tab> or <enter>)
didn't work. I know you can enable this with
[YouCompleteMe][youcompleteme] and [SuperTab][supertab] and the
following configurations (from @lencioni's
[dotfiles][lencioni-snips-config]):

```
" YouCompleteMe and UltiSnips compatibility, with the helper of supertab
" (via http://stackoverflow.com/a/22253548/1626737)
let g:SuperTabDefaultCompletionType    = '<C-n>'
let g:SuperTabCrMapping                = 0
let g:UltiSnipsExpandTrigger           = '<tab>'
let g:UltiSnipsJumpForwardTrigger      = '<tab>'
let g:UltiSnipsJumpBackwardTrigger     = '<s-tab>'
let g:ycm_key_list_select_completion   = ['<C-j>', '<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>']
```

However, I'm fine using 'ctrl-p' for auto-complete for now, and got this
alternative set of configs from [@trotzig's
dotfiles][trotzig-snips-config].

[youcompleteme]: https://github.com/Valloric/YouCompleteMe
[supertab]: https://github.com/ervandew/supertab
[lencioni-snips-config]: https://github.com/lencioni/dotfiles/blob/master/.vim/plugin/autocomplete.vim
[trotzig-snips-config]: https://github.com/trotzig/.vim/blob/master/config/plugins/ultisnips.vim