Linear/Integer Solver Support

Some highlights:
* support has been added to
  a) add a factory method to get a given mathematical program solver interface
  b) translate an ExchangeGraph into an instance of a linear/integer program
  c) solve the instance
  d) back translate the solution into matched arcs in the ExchangeGraph

* tests for basic use of the SolverFactory were added, specifically testing use of Clp and Cbc solvers

* a (rather long) test is provided that tests the full xlate/solve/backxlate stack 

* the OsiSolverInterface was used, and the derived interfaces for coin's Clp and Cbc are now required to be linked against (they both ship with Cbc)

* a mathematical program instance comparator function that takes interfaces as arguments was written by John Forrest, coin's main developer, at my request (thanks John!). I added it to cyclus in coin_helpers.*, copied coin's licenses, and attributed the work to John in both files.

*  Made some slight simplifications to the ExchangeSolver interface

* added a mathematical program ExchangeSolver (ProgSolver)

* support was added to help identify arcs in an exchange graph