reasoning: Decouple reasoning engines from core mmint (3)

 * Define extension point for reasoners