NWP: Clean neighbor list by removing failed nodes

Periodically, the neighbor list should be cleaned of any failed
nodes that have been declared dead for NWP_FAILED_TTL. The function
clean_neigh_list() is therefore added, which is periodically
called upon timer expiration to find such expired nodes and remove
them from the neighbor list.
Fix spelling of announcement

Fixed all spelling mistakes for "announcement."
Disable deletion of manually-entered neighbors

When a neighbor is manually added to the neighbor list via the xip
utility, that neighbor should not participate in NWP and should not
be removed from the neighbor list. These nodes are kept in the
neighbor list to keep routing compatible in other XIA implementations,
but they should not be sent in neighbor lists or monitored.

To do this, insert_neigh() and new_ha() are given an additional
parameter perm, which requires a change in the prototype of
insert_neigh() in include/net/xia_hid.h. If this parameter is true,
then the node has been manually inserted. Every struct hrdw_addr now
has a bool permanent to reflect this as well.

clean_neigh_list() also should therefore not discard any neighbor who
is considered permanent.