ENH: Avoid tag updating when ctags output has identical fingerprint.

We can avoid the lengthy and blocking update of the tags database when the ctags output returns the same information as before; i.e. nothing tag-relevant has been changed since the last update.
Since 7.3.816, Vim has a sha256() function that allows us to quickly calculate a fingerprint over the ctags output. When that is not available, only handle the special case of a (covered) file that has no tags at all (as calculating a hash in Vimscript is costly and would probably defeat the intended speedup).
BUG: Avoid E713 when attempting fingerprinting without current file.

When creating a tags file for an entire directory, the a:cfile variable is empty. In that case, the cache doesn't work. Avoid "E713: Cannot use empty key for Dictionary" by checking for that.
Merge branch 'enh-fingerprint-avoids-update' of git://github.com/inkarkat/vim-easytags into inkarkat-enh-fingerprint-avoids-update
Minor changes to pull request #43 on GitHub (thank you Ingo :-)

The pull request: https://github.com/xolox/vim-easytags/pull/43