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.