Unit Propagation Over Grounded MRF

@ashish33 @niranjanb 

Add unit propagation over the grounded MRF. Command-line option to enable is "-unitPropagate". Works in conjunction with "-writeClauses <file>" option to write reduced MRF to file.

Currently unit propagation only works for non-partitioned inference, so also needs to have the "-nopart" option enabled.

On larger MLNs there are some differences in the marginals produced by Tuffy with and without unit propagation. I haven't been able to find an error in the unit propagation implementation, but there may be one. Running Tuffy with the "-verbose 3" option will, among other things, print out each step of unit propagation as it executes.
Lines 3675-3707 seemed a little confusing and repetitive.  Could they be replaced with the following (c-style) alternative?  Same comment for lines 3754-3787.

absLit = Math.abs(lit);
signLit = (lit > 0 ? +1 : -1);
signCls = (cee.isPositiveClause() ? +1 : -1);
if (!QIds.contains(absLit)) {
  Q.add(lit * signCls);
  QIds.add(absLit);
}
fixAtom(absLit, (signLit == signCls));