Fix for issue #52

From Issue 52:

See Node.java, line 225:

```java
@Override public boolean equals(final Object obj) {
    return EqualsVisitor.equals(this, (Node) obj);
}
```

This is a violation of the expected behavior of Equals, going to fix it and write a test for it.

Example of code causing the exception:

```java
        Node n = new CompilationUnit();
        assertFalse(n.equals("anObjectWhichIsNotANode, it is a String"));
```