[MCC-140734] Feature/create errors

Adds error specs for bad name, bad status, bad old status, missing name, missing status, etc.  Also slightly modifies the activate! and deactivate! behavior while I was in there to set old_status correctly, and an initial value for old_status of deactivated.  For style points, I moved a bunch of shared lets into a shared context.   
No more pending specs! 
... I should add some.

```
Finished in 56.36 seconds (files took 0.36409 seconds to load)
23 examples, 0 failures

Randomized with seed 11314
```