'heap-use-after-free' error when uninitializing isolator

I found an error path in the test simulator where the Flyweight objects
are deleted before the uninitialize function is called. The default
Flyweight destructor seemed to delete all the shared pointers in
iv_index, but not actually clear out iv_index. So when the uninitialize
function called Flyweight.clear(), it tried to delete data that was
already removed from the heap. The solution was to call clear() from the
Flyweight destructor to ensure everything is deleted properly.

Change-Id: I485ce08570af7e59d9ec43cb054bce77b6866348
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/util/hei_bit_string.hpp b/src/util/hei_bit_string.hpp
index 5a1ad0f..2cfc7e3 100644
--- a/src/util/hei_bit_string.hpp
+++ b/src/util/hei_bit_string.hpp
@@ -7,9 +7,9 @@
 
 class BitStringBuffer;
 
-//##############################################################################
-//                             BitString class
-//##############################################################################
+// ##############################################################################
+//                              BitString class
+// ##############################################################################
 
 /**
  * A BitString is general purpose class providing the ability to manipulate
@@ -420,9 +420,9 @@
     uint64_t iv_offset;  ///< Start position offset
 };
 
-//##############################################################################
-//                          BitStringBuffer class
-//##############################################################################
+// ##############################################################################
+//                           BitStringBuffer class
+// ##############################################################################
 
 /** A BitStringBuffer is a BitString that maintains its own buffer in memory. It
  *  guarantees that sufficient memory is allocated and deallocated in the