Small comment.
Merge Master.
Squashed commit of the following:

commit d6d8f4582b529cbde0917346740490da3dd0611e
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Sep 19 13:58:27 2013 +0200

    AllDiffExcept0 constraint.

    Currently not supported by any underlying solvers, so is decomposed.

commit 0235254b3211c0df15bf0b0b38e6f56c2a12a672
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Sep 19 13:57:24 2013 +0200

    Remove -1 from Mistral2 verbosity.

commit 7adb44fe07318a2668da0db3e571867dc69b978d
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Sep 18 15:01:27 2013 +0200

    Tidy up many of the examples and add some descriptions to them.

commit 9741fd2c34045ad94adbe200281de76530e89c2d
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Sep 17 23:20:56 2013 +0200

    Re-enable support for string values in domains.

commit ef3fd1dfcdfd63f64407bfb26ee521f0864a0ef5
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Sep 17 23:19:59 2013 +0200

    Solver list.

commit c2962ca4ce71bf58b42b66144d884ba1d338e91d
Author: 9thbit <9thbit@gmail.com>
Date:   Mon Sep 16 23:38:44 2013 +0200

    Remove unnecessary -I from Mistral2 Makefile.

commit 9da32bb316eee8a2a3c1460af91747d6de526620
Author: 9thbit <9thbit@gmail.com>
Date:   Mon Sep 16 12:01:04 2013 +0200

    Simplify the output of help.sh for local_install so that the two lines can be copied easily.

commit 365b1fd7bd86faa9a2ee9eab05a196453231f243
Merge: 1cba99a a9a3297
Author: 9thbit <9thbit@gmail.com>
Date:   Sun Sep 15 23:47:27 2013 +0200

    Merge branch 'SATPigeonHoleAllDiff'

commit 1cba99a21e8efb705451800bb2429dc456623e34
Author: 9thbit <9thbit@gmail.com>
Date:   Sun Sep 15 23:47:04 2013 +0200

    Documentation for Task class.

commit 0d346e540cd93c75f246041ec6f8399b76e58823
Author: 9thbit <9thbit@gmail.com>
Date:   Sat Sep 14 15:37:56 2013 +0200

    Updated introduction doc.

commit 530e6084cb8cad4e5135ad088118afa83e12ffc2
Author: 9thbit <9thbit@gmail.com>
Date:   Sat Sep 14 15:36:58 2013 +0200

    Slightly cleaner XKCD knapsack example.

commit a9a3297dd0bb241686d6a067f8f9b6872d497ac6
Author: 9thbit <9thbit@gmail.com>
Date:   Sat Sep 14 13:18:21 2013 +0200

    Add missing pigeon hole enum.

commit 8a5dee107284235d8bb62c6913c1d78b3eddc0b3
Author: 9thbit <9thbit@gmail.com>
Date:   Sat Sep 14 13:17:51 2013 +0200

    getTime for MiniSat and Walksat now returns the CPU time spent solving, excluding the time to create the CNF encoding.

    By recording start time in the constructor, it was including the encoding time.

commit c62acf91c249421552c1a01973b69a7c27574ddb
Author: 9thbit <9thbit@gmail.com>
Date:   Sat Sep 14 13:15:45 2013 +0200

    SAT encoding can add additional pigeon hole constraints for an encoding of AllDiff.

commit bd8e7f045e32660efc9cb1684ffe07ba0b75c92c
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Sep 4 11:04:07 2013 +0100

    Allow a MIP encoded Sum to take real valued offsets instead of just integer.

    Includes regression test.

commit c697115ef5194d213e7f743a375f4eee286d2d17
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Sep 4 11:03:38 2013 +0100

    Print some debug info if the solver does not support an expression.

commit d984ce898900376172622c0e94ffee4bd36a85e0
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Aug 28 15:09:12 2013 +0100

    Add CPLEX to the README.

commit c7ed2d3f6c3958626dac1e48eb94430eed9e7dac
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 18:00:05 2013 +0100

    Remove unused var and debug output in Gurobi interface.

commit 00ec9fa941b5e43bdb7c535c41d7843521a2801d
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 17:59:20 2013 +0100

    available_interfaces/scip shouldn't have the generated interface files checked in.

commit 43b570b84758d42f4cc9ca3184b348eda78fd7a1
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 17:57:52 2013 +0100

    Variables coefficients in the objective was not being passed to SCIP.

commit 30f97923b71d123bc6d077a509cb923e43aba89c
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 10:43:59 2013 +0100

    CPLEXDIR should contain /cplex

commit 11df07d4023c76fb9845f70aaf4f04baeeb697c4
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 10:20:12 2013 +0100

    Create the obj and python folders if they don't exist.

commit 5700bd3b5eb4334a79c615a9fa98c2b75df0fb8c
Merge: c199a14 088d9b5
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Aug 27 10:15:13 2013 +0100

    Merge branch 'master' of github.com:eomahony/Numberjack

commit 088d9b543bed1bee57a2b6a13e25676d85db38a4
Author: ehebrard <emmanuel.hebrard@gmail.com>
Date:   Tue Aug 27 09:47:47 2013 +0200

    added Mistral2.0

commit c199a14d314d75f62b5e624689da82475e6f697d
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Aug 22 16:40:31 2013 +0100

    make debug for MipWrapper will keep the .o and wrapped .o file so that debug symbols are available.

commit ee7539489c3b5611dc80cf5707c337a4899420e9
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Aug 22 16:39:49 2013 +0100

    is_opt() for MipWrapper.

commit a454e55cef075b2810baf56e4eb5b33bb6493f3c
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Aug 22 16:00:30 2013 +0100

    Move CPLEX interface to available_interfaces.

commit 65855501e30b425fe772439acede7f1d712b4728
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Aug 22 15:58:03 2013 +0100

    CPLEX interface.

    Squashed commit of the following:
    commit 04886521ec4e479fc0d1a71c794a367e59e25030
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Aug 22 15:11:08 2013 +0100

        Remove some debug output.

    commit f5bb15c3968c25dfa7e9fdf42fe7ee75280b6fcb
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Aug 22 15:07:53 2013 +0100

        Ability to get and set CPLEX parameters.

        Changed the way expressions are added to the cplex model.

    commit 56647603fa0d05470da48149ebbb0fe67cfaed6b
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Aug 22 11:13:29 2013 +0100

        Remove hardcoded paths in CPLEX Makefile in place of a python file that will try to figure it out.

    commit 7b0769267f4cffbe55e0111d7b3cf1e97b0a0380
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Aug 22 10:23:46 2013 +0100

        Initial version of CPLEX interface.

        Paths hardcoded in makefile, working on that now.

commit 017018e50c19fee9ccbe736cabbc0647971352d7
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Jul 30 10:11:18 2013 +0100

    -I is not needed before `python-config --cflags`

commit 603c1c1967c0cce966453b4df58a0490c8df0c4c
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Jul 30 10:09:20 2013 +0100

    Change to wildcards in gitignore.

commit e94b9b992d498aaa6de0103d82f42a4a49758d20
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Jul 30 10:06:39 2013 +0100

    Move ExampleInterface to available_interfaces directory.

commit ce2f1bab1eed9eaf256ffbee68ad24b45b89f55a
Merge: 2e01ca3 3cd78d7
Author: Barry Hurley <9thbit@gmail.com>
Date:   Mon Jul 29 08:46:56 2013 -0700

    Merge pull request #10 from ten0s/master

    Make sure the local_lib folder is created

commit 3cd78d781500be0889d62a64ee4a111c2a20ddd5
Author: Dmitry Klionsky <d.klionsky@dev.powermemobile.com>
Date:   Wed Jul 17 18:29:35 2013 +0300

    Make sure the local_lib folder is created

commit 2e01ca3a036ff94cbce631b61933bf702d407fa8
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Jul 4 16:38:44 2013 +0100

    Ability to set thread count for Gurobi.

commit 3fc5f3e2fa49ffe4e143c7dacde8ad0a82f71680
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Jul 4 16:38:26 2013 +0100

    Fix for Gurobi parameter changes not taking effect.

    GRBModel takes a copy of the environment we created, so to change parameters of the environment we need to use model->getEnv() and modify that.

commit 068a56d00cb8dc66ed90998bb247db9f6c91a32c
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Jul 4 16:35:30 2013 +0100

    In the case of a variable not being created in the interface, return its lower bound.

commit 50343ed4e3bcd3a59b0380aea0354210bd189a6d
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Jul 3 18:05:37 2013 +0100

    Doc additions to clarify the behaviour of get_value() in cases where the variable is not passed to the solver.

commit 222c9da087efa3b748e990fb1d02b277ec4ae3f6
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Jul 3 17:54:11 2013 +0100

    Fix for seg fault when calling get_value on a MIP variable that did not need to be added to the model.

    The variable may not be passed to the solver if it is not involved in a non-trivial constraint. get_value() will return the variable's lower bound as the value in this case.

commit 1e9c448b7b20620dfa308a2998ce0af0c3bd270c
Author: 9thbit <9thbit@gmail.com>
Date:   Wed Jul 3 17:51:30 2013 +0100

    Rename _var to _arg in MipWrapper_neg and abs to avoid name clash with MipWrapper_Expression.

commit 98ed42e957b6627d083f69d70634dacd45a2dd06
Author: 9thbit <9thbit@gmail.com>
Date:   Mon Jul 1 15:02:52 2013 +0100

    Support for MIP encoding reification of disequality Z == (X != Y).

commit 787285b426f7c5cb4b194e58b9e5ac6801f7cc00
Author: 9thbit <9thbit@gmail.com>
Date:   Mon Jul 1 15:01:43 2013 +0100

    Bug fix for MIP encoding of reified equality.

commit 3a20bfd1534f6a5458775c3ed532f2330cf79a8b
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Jun 27 15:01:00 2013 +0100

    Add support for MIP encoding of modulus, absolute and negation.

    Squashed commit of the following:

    commit f14c51c9107e7397bba503a686c5721fdc087324
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Jun 27 15:00:17 2013 +0100

        Add support for MIP encoding of modulus, absolute and negation.

    commit 3db04bf1235caa60d4ceb3c0cb6b1091976fc64f
    Author: 9thbit <9thbit@gmail.com>
    Date:   Thu Jun 27 14:57:08 2013 +0100

        Small fixes for some debug statements and error output.

commit 8a37c6a948d0605daf97264e48dd9c1c59d2882c
Author: 9thbit <9thbit@gmail.com>
Date:   Fri Jun 21 23:20:36 2013 +0100

    Small bit of tidy in SatWrapper deleting old commented code.

commit b8d2c79a89f039a6b3b3665e259f61a08cb11ee2
Author: 9thbit <9thbit@gmail.com>
Date:   Fri Jun 21 22:24:23 2013 +0100

    Add error message to get_index_n/p if called without a value list being set.

    This may happen if a LeqDomain domain is created, e.g. (x <= 5) == z, and equal() is called without the order encoding of 'x' being enabled.
    For now, in the unit tests, it will enable the order encoding where needed, but we should find a better solution for parameterized test-cases in future.

commit 464ab4b1f280f5204451b6cb9a42b9706a8f8716
Author: 9thbit <9thbit@gmail.com>
Date:   Fri Jun 21 19:38:14 2013 +0100

    Support for SAT encoding of modulus operator.
    Squashed commit of the following:

    commit 3f54a7fd2dca148223fe44b8e7e094e05882dc8a
    Author: 9thbit <9thbit@gmail.com>
    Date:   Fri Jun 21 19:30:41 2013 +0100

        Tests for modulus.

    commit 6943f6777e76557ae8bad835aa3664191bebb66d
    Author: 9thbit <9thbit@gmail.com>
    Date:   Fri Jun 21 19:15:17 2013 +0100

        Support for SAT encoding of modulus in order encoding.

    commit 9ed56caf71a1b75a16d012d74e8dc0ce71535eea
    Author: 9thbit <9thbit@gmail.com>
    Date:   Fri Jun 21 17:08:31 2013 +0100

        Expand mod support to two variables, X % Y == Z. Still just direct and support encoding.

    commit 0eefa7d654b214f2250bb115febb2ce73f5aa1ff
    Author: 9thbit <9thbit@gmail.com>
    Date:   Fri Jun 21 14:47:57 2013 +0100

        Support for SAT encoding (X % value == Z) in direct and support encoding.
Fix a bug in MIP encoding of (dis)equality to a constant that is outside of the variable's domain.
Fix segfault with MIP encoding of multiplication indexing out of array.
SAT encoding of Table constraint.

Squashed commit of the following:

commit c205f0c47725d4d53c53946f49f4a50b53ea7081
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Oct 8 16:28:47 2013 +0100

    Unit tests for SAT encoding of Table.

commit 20b478c507154ee699ec6cf33c92926ce221355f
Author: 9thbit <9thbit@gmail.com>
Date:   Tue Oct 8 15:02:27 2013 +0100

    Improvements to SAT encoding of support table constraint.

commit 9634313dd9320918c1344c6a4a1d042b4dbe0422
Author: 9thbit <9thbit@gmail.com>
Date:   Fri Oct 4 09:25:00 2013 +0100

    Speed up SAT encoding of support Table by pre-sorting tuples.

commit e15d738699528d559b2ecc74bf1a280f8e4b063e
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Oct 3 14:37:37 2013 +0100

    Improve encoding of support table constraint by only passing relevant tuples recursively.

    Computation of the relevant tuples can be improved by sorting...

commit 2fe046cd51e4b9428701c1982ebd8b1b6b822ba9
Author: 9thbit <9thbit@gmail.com>
Date:   Thu Oct 3 10:31:40 2013 +0100

    Work in progress SAT encoding of table constraint.