Adding in a little metaprogramming magic

1. I removed is_array, is_string and is_int.  
2. 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:

```ruby
1024.is_int?  # True
"Hello world".is_string?  # True
['cats', 'dogs', 'birds'].is_array?  # True

"Nope".is_array?  # False
["1", "2"].is_int?  # False
512.is_string?  # False
```