pmd: fix #1076 Report.treeIterator() does not return all violations

The cause of the bug was the implementation of
ViolationNode.equalsNode(otherNode) which returned true when two
different violations start on the same line.

Note: this change also adds a maven dependency on Mockito 1.9.5 (scope:
test). Mockito helps creating mock objects and makes the test more
readable.
pmd: update changelog
Merge branch 'ViolationNodeEqualsNode' of https://github.com/acanda/pmd into acanda-ViolationNodeEqualsNode
pmd: update changelog, verify #1076