Rename FunctionBlockFactory

It's a factory for FunctionBlockClasses, so FunctionBlockClassFactory
is a better name.
Refactoring of FunctionBlock

Made doInit easier to read
Allow BLOCK_UPDATE_INTERVAL of type long

Previously only Long (the object type) was allowed, now long (the
primitive type) can also be used.
Fix JavaDoc of sendMessage
Fix generics in HasItemThat
Fix method name in BeaconMessage

getUUID() (which returns the UUID of the Module sending the Beacon) was
shadowing getUUID() of Message which returns the UUID of the Message
Add remote UUID to ConnectionEstablishedMessage
Remove old classes
Allow MessageHandlers to throw Exceptions
Change ShutdownFuture to FutureNotifier
Introduce new package
Add ShutdownFuture
Add ServerChannelFactory
Add ServerChannelManager
Add ClientChannelFactory
Add ClientChannelManager
Add HelloMessageHandler

Handles incoming HelloMessages. If the handler is the master it checks to see
if there is an existing connection and decides whether or not the new one
should be dropped.
Add ConnectionEstablishedMessageHandler

If this is a slave and it receives a ConnectionEstablishedMessage
this handler will mark the channel as active.
Add ClientChannelInitializer
Add HandlersByApplicationID

HandlersByApplicationID provides an easy way to specify multiple handlers
that are distinguished by the Application ID they belong to. It also allows
to specify a default handler which will be used if there is not handler
for a given Application ID.