fix(parse): return 'undefined' if a middle key's value is null

Prior to this fix, $parse/$eval would return 'null' if a middle key in an
expression's value is null, when it should be expected to be undefined.

This patch tries to remedy this by returning undefined for middle values in 
expressions, when fetching a child of that null value.

For example:

```js
// Given the following object:
$scope.a = {
 b: null
};

// $scope.$eval('a.b.c') returns undefined, whereas previously it would return
null
```

Fixes #2249
Fixes #5442