shrunk down all of the 'is' functions into a single generation, added isRegExp, added a regexp equality test to isEqual, after grayrest's patch
(cherry picked from commit 66dc6c2ac1b4c4d74ad2f4d044cba0d056549957)