reasoning: Decouple reasoning engines from core mmint (1)

 * Define reasoning interface
 * Move checkSMTLIBConstraint() and related operator into Z3 project
 * Z3 project provides a reasoning implementation