Fix bridging interfaces

Bridging between interfaces work. Tun device ip address and ip routes must manually be set after starting the program using following commands: (ip address must be changed to match network)
ip addr add 213.233.168.32/22 dev mytun
ip route add default via dev mytun

Note: Ip packets aren't forwarded to tun device. Applications recieve packet on phyical device even thought packet was sent on tun device.

C
D
ip addr add 213.233.168.32/22
D
Briding between interfaces works.
Move protocol handling of bridge packets to prot.c

ICMP is working now, but can't get dns isn't. I think it's because of lack of arp responses.
Change phys_dev and tun_dev mac field type
Add gum structure
Add gum management
Fix arp request replying bug (bad mac addresses given) and also bug in gum_lookup

Note: init_gum() should happen before device initialization
Merge with bugfix
Add protocol specific function in proto directory

Change proto.c to bridgeproto.c and move ip checksum function to proto/ip
Move phys.c & tuntap.c to netdev.c
Move send functions from bridge.c to netdev.c
Merge branch 'dev'

Conflicts:
	src/phys.c
	src/tuntap.c

Merge with dev using -Xtheirs