Asynchronous tag updates (attempt two)

**What is this all about?**

I've reimplemented support for asynchronous tags file updates (see pull request #49 for my previous and failed attempt). Most of the complex code has moved to vim-misc so to try out this branch you need to pull the latest changes to vim-misc as well. Apart from that all you (should) need to do is add `:let g:easytags_async = 1` to your vimrc script. An easy way to demonstrate that it works is to run `:UpdateTags -R` and continue to work in Vim...

**So what's the plan?**

Once a couple of people confirm that this feature branch works for them, both in in synchronous and asynchronous mode, I will merge this into master. Then we can see when we switch the default mode to asynchronous updates :-).

**About code complexity**

Even though I pushed most of the complexity of handling asynchronous processing into `vim-misc` and I ripped out some useful features that were blocking the implementation of asynchronous updates, I'm still kind of pleased with the `diff --stat`:

```
 README.md                             |   22 +-
 autoload/xolox/easytags.vim           |  582 +++++----------------------------
 autoload/xolox/easytags/filetypes.vim |  122 +++++++
 autoload/xolox/easytags/update.vim    |  268 +++++++++++++++
 autoload/xolox/easytags/utils.vim     |   20 ++
 doc/easytags.txt                      |   66 ++--
 plugin/easytags.vim                   |   19 +-
 7 files changed, 537 insertions(+), 562 deletions(-)
```

**Disclaimer:** A couple of refactorings sneaked into this feature branch because I tried to simplify and generalize code as I went on with my quest towards asynchronous tags file updates in master :-)