Merge pull request #738 from tuhdo/exp

Add fuzzy-matching for helm-semantic/imenu and helm-apropos
* helm-elisp.el (helm-apropos-fuzzy-match): Add group and type and move on right section.
Fix apropos transformers when fuzzy disabled.

* helm-elisp.el: Do it.
(helm-apropos-default-sort-fn): New DRY, use it.
* helm-elisp.el: Fix previous commit.
Disable by default fuzzy matching in symbol completion.

* helm-elisp.el (helm-lisp-fuzzy-completion): New user var.
(helm-lisp-completion-at-point): Use it.

* helm-command.el: Disable fuzzy in M-x.
Allow fuzzy matching in ido virtual buffers.

* helm-buffers.el (helm-source-ido-virtual-buffers): Define it with helm-source,
Allow fuzzy matching.
Allow customizing fuzzy-matching in imenu and semantic.

* helm-imenu.el (helm-imenu-fuzzy-match): New var.
* helm-semantic.el (helm-semantic-fuzzy-match): New var.
* helm-buffers.el: Declare some ido var and fn to shutup byte compiler.
Add org-headings.
Fix issues in helm-org. get rid of use of -flatten.
* helm-misc.el.orig: Delete file added by error.
* helm-imenu.el: require helm-help (#740).
Enable fuzzy in helm-source-files-in-current-dir, use now a class.

* helm-files.el (helm-files-in-current-dir-source): New class.
Get rid of helm-files-match-only-basename.

* helm-utils.el: Remove obsolete function helm-files-match-only-basename.
* helm.el (helm-flatten-list): New.
Fix highligthting matches in *-locate-library and *-recentf (#145).

* helm-elisp.el: Redefine the source for *-locate-library using
filter-one-by-one, there is a race condition whith filtered-candidate-transformer
in those cases.

* helm-files.el: Same for recentf.
Redefine source for semantic and imenu, fix setting of fuzzy for both (#145).

* helm-imenu.el (helm-imenu-source): new class.
(helm-imenu-fuzzy-match): use a set function and move it below.
(helm-imenu): Set the source here (should be set by the fuzzy var,
but be sure it is done).

* helm-semantic.el: Same.
* README.md: Add a paypal icon.
Define `helm-source-buffers-list' at run time.

* helm-buffers.el (helm-source-buffers-list): Now nil.
(helm-buffers-list): Build source here.

* helm-files.el: Build buffer source in helm-for-files.

* helm-misc.el:  Build buffer source in helm-mini.
Fix prompt in lisp completion.

* helm-elisp.el (helm-lisp-completion-at-point): Do it.
Tag classes and methods in lisp completions.

* helm-elisp.el (helm-lisp-completion-transformer): Do it.