Fix garbage collection and deallocation

`free` now destroys a `net_interface_link` if existing;
`collect_garbage` now frees /32 or /128 networks without a `net_interface_link`