Introduce UnboundValue for keeping track of missing optional nodes.

o ClosingIterator.materialize converts UnboundValue to null
o Equality behaves correctly when comparing against UnboundValue