Added new classes to define the memory size.
API cleanup. Also use MemorySize instead of numbers for defining memory block size (like memory or space allocation).
MemoryStatistic is now immutable. MemoryStatisticBuilder used to build it from VM statistics information.
Continue cleanup of memory core.
More classes are immutable from now.
Rename test classes to use Test prefix (instead of TestCase).
Improve memory statistics:

 * add information about count of freed blocks
 * reset statistic information when reset VMT
 * use long type for allocations/frees counters
Metrics support
Refactor the way to grab and expose metrics and statistic information.

Now statistic information becomes less emphasized, and one should try to use metrics to get information about memory. However, memory statistic will stay as the neat way to get information quickly.
MemoryStatistic is just a comfortable view for metrics information. No need to expose metrics through memory statistic, as we already have another method in Memory for that.
Readability annotations.
Use CompoundMetricsSnapshot to represent information from multiple Metrics.

In some cases we have a single entry point class, like Memory, but should return metric information not only from Memory, but from underlying classes (which are hidden, so Memory user has no idea about them), like VirtualMemory, LVMT etc.
Metric to show the number of active spaces.
Metrics refactoring.
Rename metrics, so they have prefix (vmtable for VMTable, vm for VM, memory for Memory).
Monitor used/free size and used/free blocks count.
Essential use of metrics. Some performance improvements.
Metrics for concurrency tests.
Scripts to gather csv with metrics to reports with charts.
Exclude directories with generated content.