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.
The writes_value should not be necessary.  You can set the default nicely like this:

```ruby
default(:client_name) { node_name }
```

This will make Chef::Config.client_name return `node_name` unless client_name is specified.