bugfix! caching caused incorrect log output

When renaming symbols based on function input (e.g. read -> read_F), the cache
of pre-formatted log line strings could become invalid if the same symbol is
invoked with different arguments. This patch fixes the bug by only caching the
output of dladdr for the final BT frame, and always printing the (possibly
renamed) symbol name.

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
improved logging of FD types

  *) socket differentiation ('U' == Unix socket, 'S' == network socket)
  *) bugfix in socketpair that incorrectly reported new socket type
  *) rename fstat/close based on input
  *) output FD with close, fstat
  *) when logging FD with read/write/etc. include symbol name in log line

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>