pfx_table: add iterator function pfx_table_for_each_rec(..)

pfx_table_for_each_rec(..) takes a pointer to a callback
function and optionally a void * parameter.
For every pfx_record in the pfx_table the callback function is executed
and gets the pfx_record and the void * parameter passed.

Usage example:

Define the callback function:
  void for_each_cb(const struct pfx_record *pfxr, void *data)
  {
          char ip[INET6_ADDRSTRLEN];
          ip_addr_to_str(&pfxr->prefix, ip, sizeof(ip));
          printf("IP: %s/%u-%u\n", ip, pfxr->min_len, pfxr->max_len);
  }

Call pfx_table_for_each_record(..):
  pfx_table_for_each_record(&pfxt, for_each_cb, NULL);
rtr_mgr: add wrapper function rtr_mgr_for_each_record(..)

rtr_mgr_for_each_record(..) is a convenient wrapper that calls
pfx_table_for_each_record(..).
Instead of a pointer to a pfx_table, it takes a pointer to a
rtr_mgr_conf.
pfx_table: iterate pfx_records in ascending IP prefix order

pfx_table_for_each_rec(..) returns the pfx_records sorted by IP prefix in
ascending order.

Thanks to Michael Mester for the idea and code
pfx: Add separate iterator functions for all IPv4 and IPv6 records

Add separate iterator functions to iterate through all IPv4 and IPv6
records.
If the user only want to iterate through all IPv6 records, he doesn't
have to iterate and skip through all IPv4 records before.
pfx_table: remove unnecessary asserts in iterator functions

assert(fp != NULL) was unnecessary in
pfx_table_for_each_ipv{4,6}_record(..). fp isn't dereferenced in this
function.
transport: add function tr_ident(..)

Add the function tr_ident(..) that returns an String identifier for a
socket.
For a TCP socket "host:port" is returned for a SSH socket
"user@host:port" is returned.
tmp