Fix incomplete nested to_hash functionality

Issue #339 addressed the lacking functionality for the `to_hash` to work in a recursive fashion. This was fixed, however, I noticed it does not work if `Tire::Results::Item` contains an array with `Tire::Results::Item` objects. In this case the array is just skipped.

```
<Item title:   "Test", author: <Item name: "Kafka">,
      awards:  <Item best_fiction: <Item year: "1925">>,
      reviews: [<Item stars: 5, comment: "great">,
                <Item stars: 3, comment: "decent">]
```

becomes

```
{:title =>   "Test", :author => {:name => "Kafka"},
 :awards =>  {:best_fiction => {:year => "1925"}},
 :reviews => [<Item stars: 5, comment: "great">,
              <Item stars: 3, comment: "decent">]}
```

and not as expected

```
{:title   => "Test", :author => {:name => "Kafka"},
 :awards  => {:best_fiction => {:year => "1925"}},
 :reviews => [{:stars => 5, :comment => "great"},
              {:stars => 3, :comment => "decent"}]}
```

I have extended the unit test case to reveal this problem and added a fix. I hope this helps, at least I need this, as I was expecting this behavior. I am also curious if there is an alternative, more elegant, implementation to my solution.