added additional constructor to wrapper class
fixed write hole on garbage collection.
shadow to swap then move, rather than truncate.
this is to keep it an atomic operation and enable recovery
modified test to use garbage collection functionality
of NoVoHT