changed enums to classes because changing the id on one enum changes it
in the whole vm (because there's only one instance of each enum
constant).
added unit tests for theses new classes as they need equals and hashCode
methods.
Added ArpPacketDecoder and corresponding unit tests.
Moved the RawDataUnit and its tests to the pdu package as it inherits
from ProtocolDataUnit now.
Added some new test cases for checking whether the getDecoder method of
data units returns the right type of decoder.