Configurable global method cache size

@camilo, @jasonhl 

Replaces #6 by adding a configurable method cache size. The method cache can be configured by specifying a value for the `RUBY_GLOBAL_METHOD_CACHE_SIZE` environment variable. For example:
```
[vagrant] ~/tmp/ruby/2.1.2 $ RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 ./bin/irb
irb(main):001:0>
```

The cache size must be a power of 2 to work with the current implementation, and will warn if an invalid value is passed.