In addition to specifying the node configuration file, pass the given node name option to chef-solo command run on the node. This was forgotten on pull request #107.
`knife cook` has accepted the node configuration file as a second command line parameter. This gives the same ability to `knife prepare`.
Use Knife's lazy loading: http://wiki.opscode.com/display/chef/Knife+Plugins#KnifePlugins-HandlingDependencies Especially avoid loading of 'net/ssh' and all out Bootstraps classes unless needed.
If rsync was already installed on the remote host, you may receive this: rsync is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 96 not upgraded. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Do you want to continue [Y/n]? If so, the command will hang, and the cook will never begin.
By default the node configuration is written to (by `knife prepare`) and read from (by `knife cook`) "nodes/<hostname>.json". The "<hostname>" part can now be overridden using --node-name option. This is particularly useful when provisioning cloud servers that have dynamic DNS names. The option is also consistent with `knife bootstrap`, `knife ec2 server create`, etc.
Also reorder some test methods.