fix helm not showing

- some helm sources are very slow, open-friendly-buffers especially,
  tried to make it better but have was not really successful
fix cachedir not expanded
improve -buffer-p functions

- trying to make them faster since they get called so often
attempt complete rewrite of tags system

- first version, not complete yet
- combine different tag systems so that all of their results can be used
  in an unified way (hopefully)
- integrate emacs find-function et al
- don't rely on any internal data structure to store the tag database
- primarily aim to integrate gnu global
- cscope, ctags, rtags are all optional so far