reasoning: Decouple reasoning engines from core mmint (14)

 * Final commit, all reviewed, remove todos: yay!