Attempt to improve performances of fuzzy matching.
* helm.el (helm-fuzzy-matching-regexp-cache,
           helm--in-fuzzy): New internal vars.
(helm-fuzzy-match-maybe-set-pattern): new.
(helm-check-new-input): Use it.
(helm-initialize): Use it, set new var helm--in-fuzzy by looping in helm-sources.
* helm.el: Rename fuzzy internal vars and fns.
* helm.el (with-helm-time-after-update): New macro.
Start preparing regexp cache for in-buffer method.
* helm.el (helm--fuzzy-regexp-cache): Renamed from helm--fuzzy-matching-regexp-cache.
(helm--fuzzy-match-maybe-set-pattern): Set helm--fuzzy-regexp-cache as a list.
(helm-fuzzy-match): Use now the cdr of helm--fuzzy-regexp-cache.
* helm.el (helm-fuzzy-search): Optimize using the regexp cache.
* helm.el (helm-search-functions): New use it to set helm--in-fuzzy.
(helm-initialize): Use it.
(helm-fuzzy-search): Remove now uneeded code.
Merge branch 'fuzzy' into exp
* helm.el (helm--fuzzy-match-maybe-set-pattern): Check for an index > 1 for negation.
* helm.el (helm-fuzzy-default-highlight-match): Use search-forward thanks thudo (#145).
* helm.el: Fix some docstrings.
* helm-match-plugin.el (helm-mp-3-match): Fail safe on invalid regexps.
* helm.el (helm-search-match-part): Use the cache (split not handled actually).
* helm.el (helm--fuzzy-match-maybe-set-pattern): Add comment.
Merge branch 'master' of github.com:emacs-helm/helm