removed equals, toString and hashCode from the DataUnit subclasses and
instead changed the code in the DataUnit class to have pretty good
implementations for each of it (subclasses can still change the
methods). 
Added Ip4Packet and implemented it fully with a type of service that
implements the RFC791