Reorganized files.
Extracted interfaces and internalized implementations.
Removed unused code.
Moved rule metadata to specific properties.
Added NoUnsafeCodeRule.
Merge branch 'master'
Changed TypeCollector to support multiple calls to instance.