RUBY-576 Adding index type validation for hash syntax

The nested array syntax will need to remain as long as we support Ruby 1.8 but I'd like to see us start spotlighting features and syntax from 1.9+ more. I'd like to see us push people towards the new hotness in our docs and examples rather than continuing to propagate the old.

While I was correcting an issue in our docs, Emily pointed out that we don't validate index types for the hash style syntax available in Ruby 1.9. This commit fixes that and improves a few things from the perspective of code readability/maintainence.
RUBY-574 avoid doing special queries all the time