ArrayExpression: Add a test for array expression getting bad whitespace

Only happens when MemberExpressionOpening/Closing are set to 1 and a
MemberExpression is after (or before?) the empty ArrayExpression.

This three ExpressionStatements in the test are the minimum I found for
reproducing the bug. Anything less and the bug disappears.
fix MemberExpression hook to avoid conflict with ArrayExpression. closes #101

old implementation was brittle. it was simply getting any "[" that was before
and any "]" that was after the MemberExpression; the correct implementation is
to detect if MemberExpression is surrounded by "[]" (first non-empty adjacent
tokens).