Short circuit BooleanDetector
Make BooleanDetector a short circuit operator similar to Java's `&&` or `||`. This could provide performance advantages. For example, if an `AND` operator is used with five constituent detectors and the first one is negative then the value of the g function will be negative, irrespective of the values of the remaining four detectors. Since only -/0/+ matters for event detection the remaining four values could be ignored. Current implementation is to use the minimum (for AND) value of all the constituent event detectors.
A potential draw-back is that the g function becomes less smooth. In the current implementation if all constituent detectors are continuous then the BooleanDetector's g function is continuous. With this proposal the BooleanDetector's g function would be piece wise continuous under the same assumptions. The BooleanDetector's g function would come very close to zero, then step down to a more negative number when a constituent detector crosses from negative to positive. Current event detection code can handle discontinuous functions, but the impact on the performance of the root finder should be investigated further.
(from redmine: issue id 475, created on 2018-06-11)