Modify UseCorrectPrefixRule for to allow classes to begin with Is etc.

This allows classes to begin with I<lower><upper> rather than just
I<upper><upper> or I<lower><lower>. This allows for classnames like
InMemoryDoohicky
Add unit tests to TypeRocks for IsNamed

These unit tests currently fail
Correct TypeRocks.IsNamed(TypeReference, string)

This corrects the match where a Type will match a substring of that type
e.g. the type "Test.Framework.Rocks.PublicType" would match the string
"Test.Framework.Rocks.P"
Correct IsNamed(TypeReference, string, string)

Fix usage when nested types are used. This removes the need for Match as
it can just be replaced by isNamed. Note that Match did not previously
work with nestednested types and now does
AvoidUnusedPrivateFieldsRule scans nested types for private fields access. (unit test provided)
Code formatting updated
Typo in comment corrected
Added check for HasNestedTypes before iterating NestedTypes collection.
Some further performance improvements.
[windoc] Pick up external documentation installed on Windows
Filter out more compiler attributes
[webdoc] Add a "open in native browser" button
[webdoc] Add missing icon
[windoc] Add support for external url launching
Compare property attributes
Allow easier setting of custom profile path using --profile-path argument
Add 3.5 System.ComponentModel.DataAnnotations
[windoc] Don't crash if can't create caches folder
Implement attribute arguments comparison
[webdoc] Try to catch modifiers on click to let them bubble