Explicitly create empty array as default value of hash

Since the change to using `hash = Hash.new {|hash,key| hash[key] = []}` in `parse_string_spec`, I keep getting 
_Exception: RuntimeError: can't modify frozen Hash; org/jruby/RubyHash.java:1000:in `[]='_ when I run my indexing code. I can't for the life of me see a reason why, and I expect it's a JRuby problem.

Nevertheless, I've backed that change out and once again explicitly either create or return an array for the `spec_hash` and the problems are resolved. I'll see if I can isolate it and file a bug report to @headius.