Intersected result sets

Fixed the problem where searching "Lars Johnson" would return all people with last name "Johnson".  Also added a "leniency" constant (see comment) which, if set to a value greater than zero, will include results which don't have as many term matches as the person with the most term matches.
Merge pull request #10 from kkleidal/patch-1

Tested and Code Reviewed. The patch works, and fixes issue #2. There is still a bug related to unstripped input strings (Why does ' ' match Nika and Deskmon?). I'm going to file this as a new bug, since really, it is. I also think we might be better served in terms of code clarity by writing / finding a proper intersect function, but this represents a significant improvement, so many thanks.