[COOK-2607] Handle exception when run on a Chef 11 server

Refactor https://github.com/opscode-cookbooks/chef-client/pull/89 by:
- encapsulating check for when `chef_user_exists?`
- extract `root_user` & `root_group` 
- unifying the code paths for selecting user & group so the default user and group aren't implicitly used on a machine which has `chef-server` installed but has no `chef` user.