Change logging to avoid calling untrusted code

Instead of logging a FunctionBlock directly (which would call the user
supplied toString()) we'll just log the UUID of the block
Replace uses of NPE with IAE

NullPointerException should be used when null is accessed. The changed
code used it to indicate illegal arguments, for which there is
IllegalArgumentException.

Also remove the check for value != null in sendValue as some blocks
might want to actually send null.
Remove TODOs

If the application isn't running a DefaultResponse will be send.

The handler for WhoHasFuncBlockHandler is registered correctly

Responses to ValueMessages should be handled as such. See TODO in
ValueSender.

Interacting with the DeployView from Graphiti is probably impossible.
Just wait until the file gets saved, then DeployView can reload.