Make reflection and aggregate_reflection caches work with string keys.

Following @tenderlove's suggestion on https://github.com/rails/rails/pull/14668#issuecomment-39997563, now the `reflection` and the `aggregate_reflection` caches use String as keys. This is needed to avoid `to_sym` in some cases, such as did in https://github.com/rails/rails/pull/14668.

I think we won't have problems changing these caches, since they are only used in `reflection.rb` file.

Another point is the test. I think it is wrong, it should not use the `reflection` Hash, right?

cc/ @tenderlove