## Description
Originally the key, value for rocks db pairing are indexed in such a way
that they are lexographically organized.
(i.e:
(package, module, function)
(abc, abc, abc), (abc, bcd, abc), (abc, cde, abc), (abc, cde, bcd)
).
this means when we pass in a null string, to find a key like so: (abc,
'','') it will skip to the end of the DB, and show that there are no
entries at all. This type of indexing caused issues in pagination
whenever we pass in reverse = True because it will first skip to a
different place in the DB. In this PR, we address those underlying
issues and ensure that the DB will iterate backwards properly when using
the filter portion of the `MoveFunction` filter type.
## Test Plan
Checked that we cannot publish modules / function with names too long
locally.

False with nulls:

True with nulls:


Sui system behavior works as intended
---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.
### Type of Change (Check all that apply)
- [ ] user-visible impact
- [ ] breaking change for a client SDKs
- [ ] breaking change for FNs (FN binary must upgrade)
- [ ] breaking change for validators or node operators (must upgrade
binaries)
- [ ] breaking change for on-chain data layout
- [ ] necessitate either a data wipe or data migration
### Release notes
---------
Co-authored-by: ade <ade@mystenlabs.com>