fixes #415: fix unnecessary-strict rule false positives

The rule now also detects directives that are unnecessary because there
exists another "use strict" directive in the same scope. Should also be
more efficient since it now only looks where necessary for directives.
fixes #416: no-fallthrough flagging last case + reporting wrong line num
Merge pull request #420 from michaelficarra/GH-416

fixes #416: no-fallthrough flagging last case + reporting wrong line num
Merge pull request #419 from michaelficarra/GH-415

fixes #415: fix unnecessary-strict rule false positives
improve rule test coverage
Merge pull request #423 from michaelficarra/coverage

improve rule test coverage