Add canonical include guard.

I :runtime the plugin early in my .vimrc to check whether it is supported, and then the plugin (and especially the :autocmds) gets defined again when Vim sources the regular plugin/undotree.vim.
Add a canonical include guard, and allow to check whether the plugin is actually enabled by using a different guard value.
Wrap the :autocmd in a custom :augroup.

This avoids redefining the UndotreeUpdate() hook again and again when reloading the plugin during development, and is customary for plugins. It also makes it easier for the user to identify the hook source and to disable it manually.
Merge branches 'add-include-guard' and 'use-augroup'