- containsCell() returns true if defaultCellValue != null.
- containsCellValue() returns true only if the cell has an actual value set.
- added Enums for accessing rule execution info
- containsCell() now takes into account 'defaultCellValue' being not null as containsCell() true.  If the requested cell is outside of the n-cube space, a CoordianteNotFoundException is thrown, unless there is a rule axis within the n-cube.
- removed need for computing the firedRule count - uses executedCells().size() which is equivalent.  Stored in the output._rule Map for convenient access.