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)

I also move the `if (ON)` check to the new methods, rather leaving it in both places.