title: angularjs: $stateChangeStart not fired with same-level nested states
body: <p>In app-config i've got this states:</p>
  
  <pre><code>$stateProvider               
              .state('main', {
                  url: "/main",
                  templateUrl: "partials/main.html"
              })
              .state('main.state1',
              {
                  url: "^/someurl1",
                  templateUrl: "sometemplate.html",
                  controller: 'somectrl'
  
              })
              .state('main.state2',
              {
                  url: "^/someurl2",
                  templateUrl: "sometemplate2.html",
                  controller: 'somectrl2'
  
              })
              .state('main.state1.substate',
              {
                  url: "^/someurl1/substate",
                  templateUrl: "sometemlp.html",
                  controller: 'substatectrl'
              });
  </code></pre>
  
  <p>then I've got directive in which I watch statechange:</p>
  
  <pre><code>     $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState , fromParams) {
           //somecode
  }
  </code></pre>
  
  <p>the problem is: <code>$stateChangeStart</code> fired when I'm going from substate to state1/state2, but isn't fired when i'm going to the same nesting level state, for example: from state1 to state2 or from one substate to another, what can cause this? Is it a bug?</p>