Client name should not be coupled to node name.

I was recently trying to use a specific client name and key and was failing miserably. It turns out that client key and client name are not set properly during chef-client runs and instead are coupled to the node name. This decouples the two if the user defines `client_name` in their `client.rb` file.
I did a git grep from REST.new earlier and only saw one place that specified that value, and it was passing Chef::Config[:node_name] anyway. 

Maybe even better to change the default to nil and then add logic to set it to Chef::Config[:node_name] by default.

```
if client_name.nil?
  if Chef::Config[:client_name]
    client_name = Chef::Config[:client_name]
  else
    client_name = Chef::Config[:node_name]
  end
end
```