Adding in a little metaprogramming magic

I removed is_array, is_string and is_int.  In their place I introduced some metaprogramming to have the same, though more linear, effect.  It is now possible to call is_array?, is_string? and is_int? on any object.  Thus the following can now happen:

1024.is_int?
"Hello world".is_string?
['cats', 'dogs', 'birds'].is_array?