Intermediate commit while converting to the new architecture
* Converted Filtration into StaticPersistence and DynamicPersistenceTrails
(both right now work with the underlying std::vector rather than std::list order)
* Filtration is now just an auxilliary glue (a map between Complex and Persistence)
* Whether chains are vectors or lists can be interchanged
* Added PersistenceDiagram with a simple bottleneck_distance() function
* Converted triangle, alphashapes3d, and cech-complex examples
* Lots of organizational changes
(factoring utilities out into containers.h, indirect.h, property-maps.h)
* Trying to document along the way with NaturalDocs-type comments
#include <utilities/counter.h>
static Counter* cTestElaborate = GetCounter("test/elaborate");
static Counter* cTestBasic = GetCounter("test/basic");
static Counter* cTestBasicSub = GetCounter("test/basic/sub");
int main()
{
SetFrequency(cTestBasic, 2);
Count(cTestBasic);
Count(cTestBasicSub);
Count(cTestBasicSub);
Count(cTestBasicSub);
Count(cTestElaborate);
Count(cTestBasic);
Count(cTestElaborate);
Count(cTestBasic);
Count(cTestBasic);
CountNum(cTestBasic, 25);
CountNum(cTestBasic, 132);
CountNum(cTestBasic, 25);
CountNum(cTestBasic, 121);
CountNum(cTestBasic, 132);
CountNum(cTestBasic, 25);
SetTrigger(cTestBasic, &rootCounter);
Count(cTestBasic);
Count(cTestBasic);
SetFrequency(cTestElaborate, 3);
Count(cTestElaborate);
}