[jayes] code clean up

- remove messages from SparseFactor to sysout
- stricter BayesNode.setId check
[jayes] refactoring, add QuotientGraph and MinDegree heuristic

- Graph now uses HashSet internally, this is better since we need
uniqueness of edges as well as fast removing of edges

Change-Id: I22fb5e68062b11bd8c8db90293c0baf15eb549a7
[jayes] refactoring

* put AddressCalc into internal package
* rename UnionFindSet to UnionFind, add reference to Tarjan paper
[jayes] better AbstractFactor.marginalizeAllBut performance

modularize the division caching method used in SparseFactor,
reused it for AbstractFactor.marginalizeAllBut

Change-Id: I5a15d4e89a78e72a44b97e9a7488eb6600f66232
[jayes] io classes bugfix

- minor change to enable a more flexible and robust API usage

Change-Id: I15a8a30ac56a3e9e7b56f43bb330447b83f4f53b
[jayes] decompose more in TransformedInferenceBenchmark

that way, we should get more SparseFactors (but it makes it less
comparable to InferenceBenchmark)

Change-Id: I8cb7c22f6369b9663884d4a6d5c994072f262773
[jayes] fix FactorTest