Fix `SpaceInsideBrackets` for `Hash#[]` calls

If a `Hash#[]` call has spaces after the left bracket (e.g. `hsh[
:key]`), it didn't get detected as an offense.

Because a left bracket can be either of the type `:tLBRACK` or
`:tLBRACK2`.

Fixed by allowing multiple types for the left side in `SpaceInside`.
Refactor bracket checking in SpaceInside mixin
Merge pull request #1212 from mcls/fix-space-inside-brackets

Fix `SpaceInsideBrackets` for `Hash#[]` calls