Corrected bug in endsWith in 64 bit builds

In 64 bit bits NSRange.location is a 64 bit integer and NSNotFound is > 2^32.
Casting NSNotFound in 64 bit builds to an int made the int equal to -1.  If you
passed in a string that was 1 character shorter than the search string,
endsWith would incorrectly return true.