CommandModule: handle non-Cancelable Commands

Even if a Command does not itself implement Cancelable, the
CommandModule itself _does_ implement that interface. So let's
remember the cancelation reason properly in either case.