Remove unnecessary Packet class hierarchy

* Remove the TCPPacket subclass because all packets have a sender
(however, UDP senders can be spoofed).
* Add a PROTOCOL property to Packet for specifying the used protocol (by
default, TCP and UDP are allowed).
Update JUnit to latest version (2.18)
Add ProgramUtils.getProcessId(Process<?>) for completeness

Its exisitence is logical because getProcessId(ProgramExecutor) just
returns a process id for the process which executes the given executor.
There should be a way for retrieving the process id of any process
without having to get the executor.
Fix package for 5 shared tests
Add AbstractComplexComputerTest for testing with whole computers

Because the new class replaces the old AbstractProgramTest class, the
old one is removed.
Update all program tests to AbstractComplexComputerTest
Refactor SizeUtil and rename it to SizeUtils
Rename *Util to *Utils
Move file right checking methods from FileUtils to File

That is done in order to make the methods modifiable.
Add dynamic scanning for persistent world classes

* Remove the old "jaxb.index" context path system for retrieving
persistent world classes.
* Add a new dynamic system which scans configurable parts of the
classpath for such persistent world classes. By doing all the indexing
work automatically, many programming errors can be avoided.
* Integrate that new dynamic system into the rest of the codebase.
Split world program "commonLocation" into "commonFileDir" and "...FileName"
Replace ProfileSerializer utility class with service

A side-effect of that change is that the persistent class scanning can
now be done on server startup and no longer has to be implemented
lazyly.
Move ClasspathScanningUtils from server to shared and refactor it
Add missing DefaultProfileSerializationServiceTest
Add "throwAll" parameter to ResourceLister
Refactor/fix ResourceLister and ClasspathScanningUtils
Add new initialization system for replacing the old ...Initializer classess

Instead, the new system lets the programmer provide different
initializer classes which may depend on each other.
Add CommonBootstrap as a replacement for the old ...Initializer classes

It basically triggers the new dynamic initialization system and can only
be called once.
Finally replace ...Initializer classes with new dynamic initializers
Small clean-up and add missing tests