QPBO, version 1.4.

Changes from version 1.32:
- put under GPL license

Changes from version 1.31:
- made it compile without warnings (on g++ 4.6.3)
- fixed an issue in Save() and Load()

Changes from version 1.3:
- fixed a bug in Improve(): the value INFTY used for 'fixing' nodes could have
  been underestimated.
  Thanks to Yu Miao for pointing this out.

Changes from version 1.2:
- fixed a bug: MergeParallelEdges() followed by Probe() may have worked incorrectly.
  Details: edges freed by MergeParallelEdges() are added to a list of "free arcs".
  These free arcs may then be used when Probe() needs to add a new pairwise term.
  However, there was an inconsistency between how MergeParallelEdges() marks free arcs,
  and how free arcs are treated in AddPairwiseTerm(). The result may have been a segmentation fault.
  Thanks to Lena Gorelick for pointing this out.

Changes from version 1.1:
- updated to make it compile under gcc 4.1.2.

Changes from version 1.0:
- fixed a bug in Probe(). (Thanks to Tian Taipeng for noticing that there is a bug).

  Details: In version 1.1 the transformed energy after calling Probe() was incorrect.
   As a result, the option ProbeOptions::weak_persistencies=1 was not working correctly,
   since it called the main probing function iteratively.

- Added new function Improve() (without arguments), which generates a random permutation itself.


