started refactoring of rules and conclusions (compile errors)
finished one round of rule refactoring; now for all conclusions accept
composition rule visitor, and for all subsumers one can apply
decompositon rules
renamed RuleApplicationVisitor to CompositionRuleVisitor,
+ documentation
+ documentation and some renaming
Extended rule interfaces to take the premise as a parameter of rule
application. The goal is to introduce explicit decomposition rules and
unify them with composition rules.
moved indexed class expression (composition) rules from inner classes to
a dedicated package; renamed them
new specialized interfaces and visitors for subsumer rules that are
registered during indexing
some major re-factoring of rules:
* new rule interfaces for each type of conclusions
* the rules are no longer distinguished on composition/decomposition
instead there are chainable/linkable rules (those that attach to various
indexed elements) and "simple" (static) rules that can be executed
directly (previously those were called "decomposition" rules)
* the rules to conclusions can be applied in two ways: either apply all
"non-redundant" rules (for the current content of the context) or apply
all "redundant" rules. This can implement a variety of different
incremental stages.
* the incremental mode is currently broken (does not even compile), but
non-incremental tests should work
fixed compiling errors, but incremental tests don't work yet
new files for the previous commit
* ExtendedSaturationStateWriters now initialize Contexts uisng a new
conclusion ContextInitialization
* Fixed a bug with DisjointSubsumers: the incremental mode requires to
track by which subsumer it was produced (the existing test failed)
* Simplified SaturationState and SaturationStateWriter interfaces, and
other similar changes
* ConclusionVisitor is now generic, introduced new visitors
* TODO: need hybrid contexts to fix ContextCompletionFactory
+ propagation rules and local rule application
removed the unused RuleEngine, tweaks to get rid of some warnings
- conclusions do not reference Contexts anymore; 
- separated (read-only) methods in Contexts used for rule applications
to ContextPremises; 
- added hybrid contexts that are now used in ContextCompleteionFactory
Merge branch 'feature/rules-refactoring' of
https://github.com/klinovp/elk.git into feature/rules-refactoring

Conflicts:
	elk-reasoner/src/main/java/org/semanticweb/elk/reasoner/saturation/rules/DummyRuleVisitor.java
	elk-reasoner/src/main/java/org/semanticweb/elk/reasoner/saturation/rules/LinkRule.java
refactoring and docs
removed some unused methods from AbstractReasonerState and replaced
getContext() calls in the concurrent saturation tests by
SaturationState.getContext()
- methods for context assignment to IndexedClassExpressions are now not
public; they should now be accessed through the saturation state
- renamed ContextInitializationStage to ContextAssignmentResetStage;
some small optimizations
renamed SaturationStateImpl to ReferenceSaturationState; documentation