Provide a method to unregister roles at runtime

Doing so is filled with caveats, mostly around re-adding them and code
expectations, but now it's possible.
Merge branch '4.2/unregister-role'