Minor fixes

D2TreeCore.java
* Properly implemented virtual weights. The algorithm goes like this:
** The virtual weights of leaves are always up-to-date with each bucket update.
** When the weight of a node is requested, get the info stored in its children, unless explicitly specified to traverse the whole subtree, all the way to the leaves.

GetSubtreeSizeRequest.java
* Uses a flag to determine whether the computation concerns a virtual weight or a "trueWeight".

PrintMessage.java
* Now prints the buckets' size as well

RedistributionCore.java
* Bugfix: Now disregards surplus when setting the total number of unchecked bucket nodes.

RoutingTable.java
* Added a method that checks if the children of the current node are leaves.