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.
Not `underlying.isBindingssSensitive()`?
The overlaying itself doesn't introduce the sensitivity (the original isn't referenced by position), but might mask it.