Refactored UpdateProcessor and added tests

I have refactored the UpdateProcessor class to follow the single responsibility principle. The following has been changed:
- MessageBatcher now handles creating a batch of messages instead of the UpdateProcessor class.
- Initializer now handles initializing new clients, instead of UpdateProcessor.
- UpdateProcessor now only handles sending updates to clients.

Also, I changed the implementation of the initClients() method in Initializer (originally in UpdateProcessor) to be more to the point.

Lastly, tests for all these classes have been added, giving them near 100% coverage.

Note that an automatic merge is not possible because of some conflicts in UpdateProcessor. This is because of some changes to the same code by @ZimonD, but the conflicts can be solved easily (and I am willing to do that). Also, the result of merging this branch into master passes all tests and has been played for a while without problems.

EDIT: Conflicts are in UpdateProcessor, not in DisasterControl.
Is there an imposed order in the UpdateProcessor and Initializer? Because this will probably give errors client side if the Initializer is run before the UpdateProcessor. The changes I have made to the UpdateProcessor can be reverted, as they are only cosmetical (with the exception of the concatenate function).

I think this MessageBatcher and Initializer is a lot (too much even) of overhead code for the original ArrayList of entity messages, I do like the new concatenate function. I agree that this commit should be pushed to the master when you have also adjusted DisasterControl.java. 

Are the new functions in LambdaUtils tested as well?