mem: Fixup fall back code when a hugepage allocation fails

When an mmap fails, we don't set the _mem pointer of a BackingStore to
NULL. Instead, its left as MAP_FAILED, which confuses the fall back
code. This changeset forces the pointer to NULL if the allocation
fails.
mem: Add knowledge of dependent memories in the backing store

The BackingStore currently does not know which abstract memories
depend on it. This prevents it from using the unmap/map trick we used
to have when serializing/deserializing a memory. This changeset adds a
list of AbstractMemory pointers to the backing store class and moves
the setBackingStore() handling to the BackingStore.