[DEV-125] Run error route when cmd processing fails

I think this was a bigger change than we anticipated. I'm happy with the changes but not very confident in them. There will need to be a lot of testing.