This is a bug: A block of AC_DEFINE's resets HAVE_STRUCT_ETHER_ADDR and other 
variables to zero regardless of tests above. Alternative fix is also possible: moving the
checks down.
Sending raw Ethernet packets implemented. 

1. -r option has a mandatory argument now — name of network interface to send raw
packets through.

2. raw_send function has one more parameter — a name of network interfase to send
raw packet through.

3. assemble_and_send function uses a global variable — if_name — a name of network
interface. It is not too good, probably it should be added to function parameters.
However, the function already uses another global variable — packet_mode, and all that 
global variables are visible in all the functions...

4. Probably some more work in configure.ac required — to handle newly used headers
and functions.

The code built successfully and tested in Fedora Linux 20 x86_64.