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.
Just an example off the top of my head: say a compound row is passed in, and one subrow needs to be immutable but the other doesn't. I'm not sure if that case actually arises though, and I guess I don't have to do that check recursively (though to me it seems cleaner).