Add --vpn (-X) flag to support sending IP pkts

When a user specifies a `-i tun0` flag for a VPN interface,
this interface expects raw IP packets, not ethernet frames.
The --vpn option allows you to send only IP packets to the
specified interface, and also performs some hacks on the receive
end to ensure we can process the results.

TODO: malloc a fake ethernet header for probe_modules.process_packet
(or better yet, make process_packet always take an IP packet, they
all seem to be implicitly doing that anyway).
Fake an ethernet header rather than expose vulns

There is probably a slight performance hit, but if you're
scanning with ZMap through a VPN, you probably don't care THAT
much about performance anyway...(also we only add a memcpy for
all accepted packets)
add --vpn to doc
friendlier error messages for vpn-users in get-gateway
reseting to simple_file; not sure why i had to change this in the first place
cleanup tab/spaces