use only one instance of every stage for each reasoner
postprocessing (test) stages use a simplified interface
Merge branch 'master' into feature/stages

Conflicts:
	elk-reasoner/src/main/java/org/semanticweb/elk/reasoner/stages/AbstractReasonerState.java
initialize and clear data for stages using preExecute() and
postExecute() methods
simplified and unified the structure of stages (preExecute >
executeStage > postExecute)
moved stage dependencies into the StageManager class
removed stages boolean flags; now keep track of dependencies between
stages using postStages
removing IncrementalReasoningState
initial loading of ontology happens only once
protected fields should not end with underscore
role saturation stages do not depend on change loading stage (assumes
that the changes do not contain role axioms -- to be fixed next)
One Index to rule them all: DifferentialIndex now extends DirectIndex
(the same for updates), and we use only one index in the reasoner object
removed contexts are initialized during another phase, remove the
obsolete logging
a typo fixed
various tweaks, mostly typos + minor clean-up
tweaks to stop tracking removed contexts in the saturation state. was
used only for taxonomy cleaning so better maintain this in the taxonomy
state
separating the class taxonomy and the instance taxonomy. The latter no
longer extends the former but incapsulates it. Removing all
getTaxonomy() methods from all node interfaces.
should have been in the previous commit
fixing the random walk ABox test. properly looking for existing
individual nodes in the instance taxonomy in getCreateInstanceNode
avoiding the unchecked cast during init of the instance taxonomy at the
expense of creating both class and instance taxonomies at the same time.
Then the instance taxonomy gets a specific implementation of the class
taxonomy.
reverting the number of iterations and rounds to the normal values
finally, class and instance taxonomies fully separated. now, this shiny
new stuff needs testing.