Makes `And` and `Which` blow up when more than one exception was thrown because otherwise utilizing tests are potentially erroneous.  This may break existing tests, but this is good because those tests may be not been correct.
Ensures all AndWhichConstraint occurances provide the the singular, correct object.
Defers evaluation of potentially exception throwing logic concerning
AndWhichConstraints until actually used.  Provides more descriptive
failure message when `Which` cannot be used.
Added unit tests over the Which-related failures
Merge pull request #98 from vossad01/FixNondeterminismInWhich

Remove non-determinism in `Which`