Fix memory leak in iterator free function.

Without this fix, I could get LevelDB to leak memory easily by repeatedly creating and disposing of a partially consumed iterator, eg:


```ruby
require 'securerandom'
require 'leveldb'

db = LevelDB::DB.new '/tmp/leak-test.%s' % [SecureRandom.hex]

1000.times { db.put SecureRandom.hex, SecureRandom.hex }

1000_000.times { db.to_enum.take(1) }
```