Fix bug #2813 (Go to Definition can't find toString() methods) - Use
hasOwnProperty() with StringMatcher caches instead of simple truty checks
that will see Object.prototype members too.
Add unit tests for StringMatcher & JSUtils to cover this (JSUtils already
works, but that might have just been luck; it's equally as susceptible).

Plus a few docs clarifications in code I ran across while doing a quick
skim for other instances of this bug.
Fix another case of #2813 - Quick Edit for JS crashes if invoked on a
toString() call.

Add a unit test for this case too, doing some sizable cleanup to the
findMatchingFunctions() test suite in the process - removed unused code,
centralized duplicated setup/harness code.
Merge pull request #2816 from adobe/pflynn/stringmatch-tostring

Fix #2813 - Go to Definition can't find toString() methods
Merge remote-tracking branch 'upstream/master' into WebsiteDeveloper/ProjectManager