Suppress "already initialized constant KEYS" warning

`Class.new {...}` uses a closure to define a class. Closure keeps
environment that includes local variables and so on. Assignment changes
the environment. So `klass = Class.new { KEYS = [] }` doesn't define
`klass::KEYS`. It defines `Object::KEYS`.

    a = 1
    Class.new do
      a = 2
      X = 3
    end
    p a # => 2
    p X # => 3

We need to use `const_set` to define a constant in `Class.new {...}`.
Merge pull request #89 from kou/suppress-already-initialized-constant-keys-warnings

Suppress "already initialized constant KEYS" warning