Fixed 4 bugs related to custom comparison operators.

1. Missing Equals to complement operator ==;
2. Endless recursion when having a == and comparing to null;
3. Crash when having a == and comparing a null pointer to sth else;
4. Incompilable code with a type derived from a struct with operators.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>