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.