Use ImmutableRow for any row types that might depend on outer bindings in Map_NestedLoops

Fix for https://trello.com/c/lqNyId37/979-pipelining-causing-incorrect-output-for-hibernate-test. The issue was that the input row in Map_NestedLoops depended on outer bindings but wasn't being turned into an ImmutableRow because it wasn't a ProjectedRow.

I added a new boolean method in Row (isBindingsSensitive) to support a fix per @nathanlws 's suggestion, but he also recommended that @MMcM review to make sure there isn't a cleaner fix.
Yeah, the test added in this pull request fails with this error:

``ERROR: value at index 7 expected type MCOMPAT_ BIGINT(21) NULL, but UnderlyingType was null: Value(null = NULL)``

So I guess it's not ensuring that nullability matches; it's more checking that if the types don't match, make sure that isn't because the underlying value is null when a null value is allowed. Does that make sense, or am I misunderstanding something?