arp_responder: fixed memory leak, simplified ARP table, ...

load_addrs wasn't closing the file after being opened. fixed.

Previously the ARP table was built using two structures: one
for the root with config options (file, strbuf) and the
other for the linked list.  This has been simplified to only
use a linked list node structure since the config options were
not being used.

Changed mac_lookup and free_arptable to use recursion.
Makes them a bit shorter.

Fixed a memory leak caused by not freeing memory allocated by getline().
It has also been simplified so that it only is freed in one location.
This should make it easier to maintain.

Created a memory leak test bench (test/ar_memory).

Added a utility to generate a bunch of ip and mac address pairs (genaddrs.pl).