Improvements to chef-client firstboot script

1. Chef for network connectivity before going ahead with the chef-client download. This is to resolve what I've found to be a common cause of the firstboot script failure.
2. Make the use of validation_client_name optional.
3. If a server role is set, use it.
4. Use the proper service start convention, instead of the init.d script directly.
4. Some remarks for posterity.