[CHEF-3367] prevent accidental removal of chef-client daemon pidfile when child processes of the daemon exit

Children forked from the chef-client daemon (such as those triggered
during runs of only_if commands) inherit the at_exit handler of the
daemon, which removes the daemon's pid file.  remove_pid_file now
only removes the pid file if it's invoked by the same process which
created it in the first place.
CHEF-3307: Use metadata name when loading cookbook

If a name attribute is loaded from a cookbooks metadata, use this for
dependency checks and references as specified in documentation. Ensure real
pathname is retained so that manifests can still be generated correctly.

In addition we must read the metadata implicitly when cookbooks are loaded to
ensure we are using the correct name.