Added BuildMonMessage class

Used between message exchanges to transfer the tag and the payload of
the message
Added InvalidTagException

Thrown when a tag is not valid according to the di.kdd.IProtocol tags
Added PeerData

Holds the informatio that each node needs for its peers
Added Protocol class and interface
added .settings to .gitignore
Changed Message tag into an enumeration
Added debug tag for the protocol
Renamed ignored parameters of the button click handlers
Added disconnect button
Added connect and disconnect click handlers
Added end method
Start protocol implementation in a new thread
Removed InvalidTagException

Type checks are done from the enum type now
Removed InvalidTagException
Implemented IProtocol.end and added Captain-related methods to the protocol interface
Made PeerData class thread-safe
Added KnockKnockListener
added toString override in PeerData
renamed KnockKnockListener
Rewrote protocol class with the KnockKnock Thread