Report runtime and memory statistics upon C++ memory exhaustion.
Provide memory statistics on Linux using /proc/self/statm if getrusage is broken.
Whitespace cleanup.
Fix configure check and use of tm.tm_gmtoff.
Fix copyright year.
Print the command line & working directory on interactive start-ups.
Add a new trace type 'memnet' for the memory network.
Whitespace cleanup.
Also print the client during 'read' on L2 caches.
Simplify the printing of messages in the memory network.
Add some more tracing for the memory network.
Simplify reporting of memory line presence in the COMA systems.
Rename CacheID to NodeID in the COMA memory network.
Make NodeID an attribute of Node, not only Cache.
Rename Node::Initialize to Node::Connect.
New service Node::GetNumLines, implemented for Cache and Directory.
Remove COMA::GetDirectoryAssociativity, Cache::GetAssociativity and simplify COMA::GetCacheAssociativity.
Simplify the Directory implemenation.

Instead of using sets/associativity use a single dynamic mapping from
line addresses to tokens. The size of the mapping is bounded
by the protocol to never exceed m_maxNumLines, an architectural constant
(number of cache lines below) so this is really a fixed size hardware
component.

The advantage of this generic approach is that it supports heterogeneous
cache sizes.

The logic of managing the mapping is not described in the model and may
be unrealistic timing-wise. However this is not a regression compared to
the previous situation, which was equally unrealistic.
Simplify some loops.
More tracing and minor improvements to RootDirectory.