Fix some segfault when printing the stack trace.

Changes since #193:
- Ensure a stale DebugEntry will not be reused.
- Actually store the node into the DebugEntry as kregs index is not stable.
Merge pull request #202 from kennytm/fix-crash-from-mr-193

Fix some segfault when printing the stack trace.
Rename bootunpickler-decl.hh to bootunpickler.hh

* It is included in mozartcore.hh and has its own .cc.
* There was no bootunpickler.hh but one bootunpickler.cc.
* The interface only needs to be declared at .hh level.
Allow Oz to use the efficient boot unpickler
Implement unpickling of unicodeString in bootunpickler

* Also add an error message when type is unknown.
Fix unpickling of namedname
Fix missing argument in MemManagedList::remove_after()

* Also document usage of remove().
Implement the pickler in C++ for better performance

* More than 60 times faster than the Oz pickler!
* Made available to Oz as the builtin Serializer.pickle.
* Introduces a few core atoms to ensure fast comparison.
* Uses an algorithm close to the one of Serializer.
* Handles resources and read-only variables as the original pickler.
Use the new serializer for inter-VM operations

* Also removes dependency on Pickle so the whole VM module is serializable!
* No need anymore for the 'pickle.pack' property.
* Sending unit on a VMPort is 50 times faster.
Move definition of pickle() to pickler.hh as it is so simple
Deduplicate features in the Pickler

* Move PickleNode to the header since we need it as an argument type.
Move the Pickler topLevelValue to an argument of pickle()
Reorder a few methods of Pickler
Implement deduplication of arities in the Pickler
Use std::nullptr_t instead of our custom-defined type

* other places in the codebase already use it anyway.
Fix a segfault due to what seems a bug in GCC
Add a test for pickling, based on base/pickles.oz
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