feat($scope): propose and implement $when method

I have noticed that following pattern occurs in many of my AngularJS controllers
when I need to do initialization based on an asynchronously loaded resource:
```
if ($scope.someCondition == true) {
  doSomething();
} else {
  var unwatch = $scope.$watch('someCondition == true', function(newValue) {
    if (newValue) {
      doSomething();
      unwatch();
    }
  });
}
```
I propose adding a $when() method to $scope to simplify handing of such cases:
```
$scope.$when('someCondition == true', doSomething);
```
This commit provides an initial implementation of the $when() method.