Put candidates fully matched on top when fuzzy sorting (#145).

* helm.el (helm--collect-pairs-in-string): New.
(helm-score-candidate-for-pattern): Use it, fix docstring.
Give a maximal score when pattern is fully matched.
Improve fuzzy sort function.

* helm.el (helm-fuzzy-matching-default-sort-fn-1): Memoize.
Get all infos of major-mode in helm-semantic and simplify (#777).

* helm-semantic.el (helm-semantic-source): Use helm-source-in-buffer.
(helm-semantic-get-candidates): Removed.