renamed novoht source to cpp
updated makefile.am to reflect name change
fixed a few name change errors
and the include error
atomicized operations.
if write fails, operation fails.
this is to prevent data inconsistencies and write holes.
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