VIVO-778 Refactor the connections to the TBox reasoner.

Replace PelletListener with a TBoxReasonerModule in the Application.
   The reasoner will be accessible only through here, not as a context attribute or through the WebappDaoFactory.
Split out the initialization of the TBox reasoner from SimpleReasonerSetup.
Break out the filtering of TBox changes into a ConfiguredReasonerListener.
Refactor the threading logic into a BasicTBoxReasonerDriver.
   Add a factory for creating VitroBackgroundThreads in an Executor.
Isolate the actual reasoner into a TBoxReasoner implementation. In this case, PelletTBoxReasoner.
Combine the consistency flag, error flag, explanation, and running status into one TBoxReasonerStatus object.
Remove call to deprecated JUmitMatchers method.
VIVO-766 Java 8 handles no-argument constructors differently.

Claims that a non-static inner class has no no-argument constructors.
VIVO-766 Java 8 writes prefixes in a different order.

Probably due to a change in the algorithm for HashMap, or something similar.
This test expected a particular string in response, but Java 7 and Java 8 returned two different, but equivalent, strings.
Modify it so it will accept @prefix or xmlns: specifications in any order.
VIVO-766 This comparator is invalid under Java 8.

Because subclass/superclass is only a partial ordering, this breaks the contract for Comparator,
and throws an IllegalArgumentException under Java 8. In particular, for classes sub, super and other,
we have sub=other, sub<super, which should imply other<super, but instead other=super.

As far as I can determine, this sort is never used anyway, so there should be no impact in removing it.
PropertyInstanceDaoJena sorts these results again before using them, as does GroupedPropertyList.
Merge branch 'develop' into feature/fauxEditing