Introduce UnboundValue for keeping track of missing optional nodes.

o ClosingIterator.materialize converts UnboundValue to null
o Equality behaves correctly when comparing against UnboundValue
Merge pull request #1096 from apcj/2.0-optionally-exists

Introduce UnboundValue for keeping track of missing optional nodes.