CHEF-5032 Add permanent run list modification CLI option

**WORK IN PROGRESS**

This adds permanent run list modification to `chef-client`. Patch still needs the `-r` option for `chef-client`, I'm putting this here for early review.

Would like some feedback on the approach I took. I opted to use the existing JSON file mechanisms, which requires fewer code changes overall, but feels a bit icky.