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.
A default of `true` here is probably more defensive. Then known-safe can opt-out.