Do not cache omnifunc

This is a continuation of #236 that makes caching in the omni_completer optional.

It's a bit of a hack - the right solution would be either:
  - to allow specifying a set of characters that invalidate the completion cache but do not end an identifier (thus causing the completion engine to be re-queried with `"foo/"` instead of `""` when `/` is pressed - or `.`, `->` etc.). Still hackish, but less performance impact than this change.

  - Or even better, to respect the return values from `omnifunc(find_start=1,"")` - which I tried to implement but found it a bit tricky. The `FindCompletionStart` function would have to be moved into a `Completer`, which probably means the `ShouldUseNow` functions should not take position any more (thus allowing the vim plugin to select a completer first, then query it for a starting position)... All in all, more of a change than I'm willing to undertake right now.

I based this on top of #236 because it's not very useful otherwise, but can rebase on top of master if desired.