CHEF-4203: Honor the chefignore file for knife cookbook test

In the case that a standalone cookbook exists that is using bundler, a large amount of gems can be added to the current directory. This commit reads the chefignore file and avoid having to scan through the ruby files that are in the bundler created gems directory.
Fixing an integration test that was assuming the chefignore would be only located in the cookbooks directory
Fixing indentation
Rename the method to be more descriptive
Use an attr_accessor instead of referencing the instance variable directly
Update the unit tests to use the files names instead of the number of files
Fix Windows 2003 CI issues:

- Make sure that return value is preserved windows_server_2003?
- Disable version_specs on 2003 since the API is not supported.
CHEF-4203: Add documentation updates
[CHEF-3953] ImmutableMash and ImmutableArray should implement to_hash and to_a respectively
  - ImmutableMash now implements a to_hash method.  This recurses through the ImmutableMash and returns a fully mutable Hash
  - ImmutableArray now implements a to_a method.  This recurses through the ImmutableArray and returns a fully mutable Array
  - Unit tests added for both of the above methods
[CHEF-5132] ImmutableCollections #to_a and #to_hash methods fixed and improved
[CHEF-5132] ImmutableCollections #to_a and #to_hash tests changed to use #be_instance_of and cleaned
[CHEF-5132] more tests added for ImmutableCollections #to_a and #to_hash methods
CHEF-5132: documentation updates
Merge pull request #1348 from opscode/win-ci-fixes

Fix Windows 2003 CI issues
Remove superfluous node method
Add missing batch / powershell_script resource platform mappings
Handle explicitly thrown exceptions, method name convention violations
Add line breaks to generated script
Fix comment typo
Interpolated boolean return support for powershell_script