Improve Firewall Log widget (take 2)

1) New firewall log data that is queried by the AJAX each 30 seconds did not have the "Reverse Resolve with DNS" link attached to it - do that. Now the Source and Destination column IP addresses always have links to Reverse Resolve with DNS.
2) Some Java string generation of the HTML was using "\/" sequence, apparently to get a literal "/" into the string. That is not necessary, as "/" is not a char that needs escaping in Java strings. Actually I am not sure what the "\/" sequence would have done - maybe Java harmlessly puts a literal "/" for this.
3) Original rows that had no destination port still had a ":" at the end of the IP address (e.g. when the block was for a ping) like "1.2.3.4:". Do not put the colon on the end if there is no destination port.
4) Standardise display of IPv6 addresses to have square brackets around them. Then when a port is added to the IPv6 address, the difference is clear, as per https://tools.ietf.org/html/rfc3986#section-3.2.2
5) An extra hidden blank row had been put at the end of the table. That was making the table size query from JavaScript get 1 bigger than the really displayed rows. This was causing the calculation errors that resulted in rows gradually disappearing from the table on the dashboard (as reported at forum: https://forum.pfsense.org/index.php?topic=85635.0 )

There were similar issues when the logs were in reverse mode, skipping table rows rather than losing them. The same fix removing the "bonus" table row seems to have fixed the row counting and updating for the time-reversed list also.