Make empty run_list to produce an empty array when using node.to_hash

Currently `node.to_hash["run_list"]` returns `nil` if run_list is empty.
At the same time `node.to_json` includes `"run_list": []`.

This PR makes `Chef::Node#to_hash` to return an empty array for `run_list` key if node's run_list is empty. Also test.