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.