Improve unit tests for Node class

In this pull request I have improved the unit test coverage of Node class. Particularly these tests now cover different execution paths of hasSibling() method.

In commit ``` 462c964``` I have changed the code to use ```!==``` in place of ```!=```. For objects ```!=``` only does a `not equal` check while the requirement is a `not identical` check. However this did not cause any bugs as practically sibling nodes were different by name.