Allow adding more than one function to match/search slots.

* helm-source.el (helm--setup-source): Do it.
* doc/Home.mdpp: Update FAQ.
* helm.el (helm-score-candidate-for-pattern): regexp-quote pattern.
Add docstring in fuzzy sort function.

* helm.el (helm-fuzzy-matching-default-sort-fn-1,
helm-fuzzy-matching-default-sort-fn): Do it.
* helm.el (helm-score-candidate-for-pattern): Fix docstring.
Neutralize invalid regexps in in-buffer search.

* helm.el (helm-candidates-in-buffer-search-from-end,
helm-candidates-in-buffer-search-from-start): Do it.
* helm-files.el (helm-ff-sort-candidates): Use helm-score-candidate-for-pattern and memoize.
Move `helm-fuzzy-matching-default-sort-fn-1' logic into `helm-fuzzy-sort-fn'.

- `helm-M-x' was referencing the internal implementation, which makes it
  awkward to override with a custom sorter.
Minor fixes in previous (#783 PR) commit.

* helm-command.el (helm-M-x): source arg in sort fn is in use there.
* helm.el (helm-fuzzy-matching-default-sort-fn): Reindent.