fix(equals): fix #1648 correctly compare objects with undefined member variables 

given a = {} and b = {x:undefined} then
angular.equals(a, b) should be true
angular.equals(b, a) should be true (this happened before)

Closes: #1648