to_ary must return an Array on 1.8

The goal of the change was to avoid calls to method_missing, but
defining to_ary was not the correct choice.  This fails on 1.8, where it
must return an Array.  This makes a Gem::Specification appear as if it
were an Array which it is not.

Instead respond_to_missing? is defined which returns false.  I did not
test if this is more or less efficient than defining to_ary.

This reverts @54cf153b from #477