Add test for upper bounds on iterators using C interface.
Store upper bound `Slice` with the same lifetime as the `ReadOptions` so that we can provide a pointer to it.
Merge pull request #423 from zerebubuth/c_iterate_upper_bound

C iterate upper bound