Update StrictModeManager to allow custom rule violations

Allows specification of what is considered a violation - this is to avoid the annoying death on activity rotate bug.

At the same time, I update the default violation rules to avoid the activity instances count - this means that it won't catch leaked activities anymore, but that rule was buggy anyway (false positives, e.g. on activity rotates, in a fresh clean project) which led to people turning strict mode off.

![selfie-0](http://i.imgur.com/LQT68sW.gif)

note, I remove the penalty from here - instead of a default builder, it's just a builder with the default violations - which is what we pass into the new methods above. The distinction between the two (parameterised initialise) methods is that they apply different penalties.