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