Major change with multiple features

* Virtual Directory Support
* section unlock and lock support
* fixed issue with :add on pool provider not running all config
* fixed issue with :config on all providers causing application pool recycles (every chef-client run)
* moved to better method for XML checking of previous settings to detect changes

I apologize for the large pull request but the speed of approvals is taking too long and we have had to write too much code.
I realize that win_friendly_path (from the windows cookbook) is used all over here, but we do have a growing number of centralized helpers for paths in core now in Chef::Util::PathHelper. #cleanpath is the equivalent here but there are others like #validate_path that can help raise errors about path/string issues before the mess someone up that are worth "putting in your toolbox" to consider when working on stuff like this.