symmetric equals assertion

This pull request modifies the assertEquals logic of the Assert class to test for equality in both directions when neither expected or actual arguments are null. 

Motives:
- The obvious case - symmetry is a property of Java equality http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
- Although usage errors are no reason to change the tool, many developers unfortunately confuse the order of the expected and actual arguments, few know that these arguments are treated differently