add fuzzy string match support for Programs plugin

fuzzy match can allow user guess some characters to find out program, even if don't remember the exact program name. this is like **SublimeText**'s ctrl+p search function:
![sublimetext example](https://f.cloud.github.com/assets/718792/2117750/5034625c-90e2-11e3-8f8d-10606bb4090f.png)

now the fuzzy match algorithm is very simple, reference blog:
http://crossplatform.net/sublime-text-ctrl-p-fuzzy-matching-in-python/

fuzzy match effect:
![](https://f.cloud.github.com/assets/718792/2117786/874afd68-90e3-11e3-8821-b3ef71a36549.jpg)


other reference material:
https://www.sublimetext.com/forum/viewtopic.php?t=5661
http://www.quora.com/Algorithms/How-is-the-fuzzy-search-algorithm-in-Sublime-Text-designed
http://stackoverflow.com/questions/16907825/how-to-implement-sublime-text-like-fuzzy-search