Code Analysis: Add ruleset & dictionary

Still too many warnings...
Code Analysis: Remove unused variables
Code Analysis: Fix naming issues

Abbreviation casing, Creat*() rather than Get*().

Also use properties instead of visible fields
Code Analysis: Don't ignore method results

Throw on failed HRESULTs.
:boom:
Code Analysis: Misc other warnings