Implement deduplication of builtins in the Pickler
Refactor by extracting methods from the deduplication code
Rename Pickler::writeValue() to writeNode()

* So "value" means node with "value behavior" and we do not mix the meanings