Changed search function to be more flexible.

Now it allows to search for words in no particular order. But all words
must be present. A future improvement would be to allow a rank of result
based off of how many words matched against each item, being ranked
higher the ones with the larger number of matches (ie: more relevant)
Merge pull request #7 from desyncr/improve-string-search

Changed search function to be more flexible.