We should sort IP addresses by their numerical value instead of their prettified string value. For example (based on T237300#6215030):
* string sorting results in this incorrect order `0:0:0:0:0:0:0:1 < 2a06:f500:1714:e8ac:e97:5d42:de10:989e < 192.168.121.1`
* numerical sorting (with IPv6 prefixing) results in this correct order: `192.168.121.1 < 0:0:0:0:0:0:0:1 < 2a06:f500:1714:e8ac:e97:5d42:de10:989e`
The tablesorter will sort table cells by their `data-sort-value` attribute if present, so we can set that attribute to contain a hexadecimal representation of the IP address. We can use `IPUtils::toHex`, which prefixes IPv6 addresses so they sort after IPv4 addresses.
Acceptance criteria:
* IPv4 addresses sort correctly
* IPv4 addresses sort as smaller than IPv6 addresses
Note that IPv6 addresses will not sort correctly until after T255693 is solved.