Use Integer as hash key instead of Hash

Because Integer#hash is faster than Hash#hash.

    % ruby2.0 -v /tmp/hash-benchmark.rb
    ruby 2.0.0p384 (2014-01-12) [x86_64-linux-gnu]
    Rehearsal -----------------------------------------------------------
    Integer#hash              0.000000   0.000000   0.000000 (  0.000012)
    Hash#hash (1 element)     0.000000   0.000000   0.000000 (  0.000060)
    Hash#hash (10 elements)   0.000000   0.000000   0.000000 (  0.000274)
    -------------------------------------------------- total: 0.000000sec

                                  user     system      total        real
    Integer#hash              0.000000   0.000000   0.000000 (  0.000016)
    Hash#hash (1 element)     0.000000   0.000000   0.000000 (  0.000122)
    Hash#hash (10 elements)   0.000000   0.000000   0.000000 (  0.000248)

/tmp/hash-benchmark.rb:

    require "benchmark"

    N = 100

    integer = 10
    hash_1 = {"a" => "b"}
    hash_10 = {}
    10.times do |i|
      hash_10[i] = "a"
    end

    Benchmark.bmbm do |benchmark|
      benchmark.report("Integer#hash") do
        N.times do
          integer.hash
        end
      end
      benchmark.report("Hash#hash (1 element)") do
        N.times do
          hash_1.hash
        end
      end
      benchmark.report("Hash#hash (10 elements)") do
        N.times do
          hash_10.hash
        end
      end
    end