Streaming/delta-streaming for script values.

Good point; I'll add a comment explaining what's going on in my next PR.  The reason it returns true if invalid is because if all the previous tests fail (first is not undefined, null, an object, etc.), the only thing left for first to be is invalid.