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.
So sometimes you want the `application_name` which _could_ end with a `/` and sometimes you want the `application_identifier`, which is the name with the possible `/` chomped off.  That makes sense.

I see that you updated the description in the metadata - so the trailing `/` is not required, correct?  If that is true then I think the `application_name` and `application_identifier` code looks good.