WIP on shared_ptr usage throughout.
The library code and the HVAC example are all shared_ptr now.
Weapon example uses shared_ptr
50K iteration benchmark code.
Minor tidying.
RuleSet tidying, doco, constructors
Recover from a cut-and-paste error
Project & code tidying
Relocate the clear() to the end of the method
Merge branch 'shared_ptr'

Conflicts:
	fam/rule_set.cpp
	fam/rule_set.h
Constructing in the loop (vice assignment) shaves off some time at the cost of being less DRY

See Effective C++ item 26
Tidying.
Use an inlined getConsequent();
Tidying.