Ipv4, Arpv4: adapt to match the new signatures

- Decouple Arpv4 from Ethif by making Arpv4 a functor of ETHIF
- Refactor `allocate_frame` into `write` in Ipv4.Make(-)

NOTE: This commit breaks the compilation of the library because the Ipv4
      functor does not have the right signature to be an argument of
      Udpv4 and Tcpv4. These will be updated next.
ipv4: update signature

- checksum
- get_source
- input_arpv4
- writev
udpv4: change functor argument to IP
tcpv4: change functor argument to IP
ipv6: fix signature
Plug in ipv6 into the direct stack
Plug in ipv6 in the unix stack
Regenerate OASIS with ipv6 support

The library compiles again.