Add IllegalRawDataException to be thrown from many methods.

This change is essentially no code change, but just declares that IllegalRawDataException can be thrown from the newInstance method of PacketFactory. Once you do this, there are several other methods that need to be declared as throwing IllegalRawDataException.

I also added the testdata directory into the .gitignore so that git is happy after you build.

This version builds and passes the self-tests.