babeld: fix field name to "KeyID" (per spec)
babeld: factor ESA allocation code out

This change moves the code formerly present in babel_esalist_new() to a
new function, babel_esa_item_alloc(), and updates it to use XMALLOC()
and memcpy() instead of XSTRDUP() (with binary authentication keys in
mind).
babeld: rename babel_esalist_new() for clarity

Rename to babel_esalist_derive(), also rename two variables.
babeld: redo ESA deriving procedure for I-D rev 02

This change reflects the current changes in I-D working copy, in that
suppression of duplicate ESAs is performed after output ESA list
population, not before.

* babel_esalist_derive()
  * replace one joint populate/suppress step with two distinct steps
  * refine debugging output
* babel_auth_check_packet(): let babel_esalist_derive() do logging
* babel_auth_make_packet(): idem
babeld: make babel_esa_item_exists() 2-place