Idiomatic.js exceptions for space-in-brackets (fixes #1142)

This modification provides a way to allow a single string in brackets to be un-spaced with "always" turned on.  It is a common convention, especially when working with large config files, to place object literals directly inside of arrays.  To accommodate this fact, the rule also forces curly braces that are the first or last element in an array to be un-spaced directly inside of square brackets.  Further explanations of the modifications I made can be found in my modifications to the documentation file https://github.com/brandyn1bennett/eslint/blob/master/docs/rules/space-in-brackets.md.
Do we really need singleString and singleNumber? I'd rather just have singleValue, otherwise we need singleBoolean, singleObject, singleArray, singleNull, singleUndefined, and so on.