Fix subtle bug in ruby grade school

`Hash.new([])` actually initializes each new element in the hash with
the same exact instance of Array. So, no matter what element you add
something to, it will add it to that one Array instance.

`Hash.new { |hash, key| hash[key] = [] }` will do what I was expecting
it to do, initialize each entry with a separate empty array and actually
do the assignment.

See these stack overflow questions/answers:

http://stackoverflow.com/questions/2698460/strange-ruby-behavior-when-using-hash-new
http://stackoverflow.com/questions/2552579/ruby-method-array-not-updating-the-array-in-hash