HashMapController iteration

Added support in the HashMapController for map iteration. This is
available in the iterate() function and the destroy() function.
Iteration is made possible through an abstract subclass IterationHandler.
cleanup tests
update HashMapController

Added getRef() function to support inplace value modification.
broken working copy. working on AllInMemNmuTable
still WIP
still working on AllInMemNmuTable
still working, figuring out StlNmuTable, do tuple hash
working tuple hasher
Working on StlNmuTable functions. About half way done. No tests, yet.
Finished StlNmuTable_TEST

Changed log() to logf().
The StlNmuTable_TEST runs through a fairly simple static setup. I
suggest making a more full test, however, this could be the main application!
fixed a few lint issues
working on AllInMemNmuTable
more updates towards AllInMemNmuTable completion
ugh, still working on AllInMemNmuTable
finished the add.. functions of AllInMemNmuTable, now moving on to remove.. functions
procrastinated around the remove methods, working on lookups and reply entries :)
Began restructuring HashMapController for iteration.

Upon realizing that nested operations in the HashMapController are
problematic for a hardware implementation, I began restructuring the
iteration process. An iterator class is now present that contains
information state about the iteration. This is similar to STL.

It is currently under development.
still working on HashMapController iterator
finished the changes to HashMapController for the new iterator. no tests have been modified yet
Yet again, restructured the hash map iteration style.

Iterators are now objects that are stored in memory. They are created,
destroyed, advance, and used by the HashMapController. They effectively
work the same as before.

This commit only brings the new source file up to compilation. The unit
tests need to be updated to reflect the changes and AllInMemNmuTable still
needs to be completed using the new HashMapController.