Join debugging

* ConnectMessage.java: Fixed a connection bug that wouldn't add the proper node as a representative.
* D2TreeCore.java: Removed all debugging lines from forwardJoinRequest(Message) in class D2TreeCore.
* D2TreeCore.java: Preemptively added a few debugging lines in other methods -probably not a good idea.
* D2TreeMessageT.java: Method D2TreeMessageT.toString(int) now returns the correct output.
forwardGetSubtreeSizeRequest debugging: Minor changes in bucket size computation

GetSubtreeSizeRequest.java
*Initial size is now 0 instead of 1.

D2TreeCore.java
*Created a new method, void print(Message, String) to better control debugging.
*Added new debugging messages in various points of (mostly) forwardGetSubtreeSizeRequest.
*Discovered a bug that calls forwardGetSubtreeSizeRequest twice for nodes that are the last of their buckets. That
*Couldn't solve it so I decided to compute the size of a bucket using the number of hops instead of a new variable. That seems to work. Let's hope that no side-effects will be caused from that decision.
*Added a TODO comment to remind me to fix the bug later.
Size request debugging part 2 and Extend debugging part 1: Final changes in bucket size computation and some changes in the extension algorithm

D2TreeCore.java
* Organized node modes in an enum.
* Gradually adding assertions for debugging purposes. For the time being, they only check if message types are valid.
* Slightly altered some printed messages, added some missing sendMsg(msg) lines.
* Extending now doesn't throw NullPointerException on nodes that are last in their buckets.
* When a bucket node is turned into a right leaf, it's left neighbor is now disconnected from the new leaf (both ways) in forwardExtendRequest.
* Sending a SubtreeSizeResponse from a bucket node now keeps the original sender of the SubtreeSizeRequest.
* Fixed forwardCheckBalanceRequest. Conditions are checked in the correct order so that they don't interfere with each other and the algorithm is now more organized.

D2TreeMessageT.java
*Added EXTEND_RES as type.

GetSubtreeSizeResponse.java
*Set initial size to 0.
*Commented out method void incrementSize().

CheckBalanceRequest.java
*Added a UID

ExtendResponse.java
*changed type from EXTEND_REQ to EXTEND_RES