Cleanup the internal communication layer.
Fix build target
General cleanup and refactoring
More cleanup
Package refactoring
Very major refactoring

This changeset restructures a few things. This was necessary to be
able to run multiple solving algorithms at the same time. See the
new configuration options for more info.
Set hard constraints to negative infinity
Added paper scenarios