Commands

Fixes #42 

I still need to add more Command+Consumer specific tests, but this has so many changes in it I'd prefer to merge this ASAP.
Yeah... Let's play around with all of it with real jobs and see what happens. I'd hate to guess at what's useful and end up needlessly complicating things.