Add --lockfile opt for chef-client and chef-solo

In brief:
````
root@example.com [~]# strace -s4096 -f -o chef_client_strace chef-client --pid /tmp/mypidfile.pid
...snip....
root@example.com [~]# grep mypidfile.pid chef_client_strace 
22657 execve("/usr/bin/chef-client", ["chef-client", "--pid", "/tmp/mypidfile.pid"], [/* 27 vars */]) = 0
root@example.com [~]# grep chef-client-running.pid chef_client_strace | grep open
22662 open("/var/chef/cache/chef-client-running.pid", O_RDWR|O_CREAT|O_APPEND, 0666) = 9
````

It appears that the `--pid` option is ignored by chef-client; the option `:pid_file` is never used, but `:lockfile` is used to acquire a `RunLock`. This PR fixes the issue by making the `--pid/-P` opt set `Chef::Config.lockfile`

With this change:
````
root@example.com [~]# grep mypidfile.pid chef_client_strace 
23948 execve("/usr/bin/chef-client", ["chef-client", "--pid", "/tmp/mypidfile.pid"], [/* 27 vars */]) = 0
23955 open("/tmp/mypidfile.pid", O_RDWR|O_CREAT|O_APPEND, 0666) = 9
````
This should really go into a Chef::Exception if you look in lib/chef/exceptions.rb you can see the pattern where the initializer contains the message, then you'd just raise the exception instead of calling Chef::Application.fatal!