Added the virtualmallocator which will contain the list of blocks
Fixed some const correctness
Switched to boost.shared_mutex for reader/writer lock so we can have multiple readers.