title: $stateParams is empty object
body: <p>i saw a lot of similar questions at SO, but those solutions not worked for me :(</p>
  
  <p>About my site and app: 
  backend is wordpress with json api, angular app is on the <code>mysite.lc/catalog/</code> page.</p>
  
  <p>my controller:</p>
  
  <pre><code>var catalogControllers = angular.module('catalogControllers', []);
  
      catalogControllers.controller('catalogCtrl', ['$scope', '$state', '$stateParams',
      function ($scope, $state, $stateParams) {   
          $log.debug(angular.toJson($stateParams, true));
  
          $http.get(url).success(function(data) {
              console.log('data is loaded');
          });      
      }
  ]);
  </code></pre>
  
  <p>my routing setup:</p>
  
  <pre><code>var catalogApp = angular.module('catalogApp', ['ui.router', 'ngResource', 'ngSanitize', 'catalogControllers']);
  
  catalogApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
      $stateProvider
          .state('home', {
              url: '?producttype&amp;colors&amp;models',
              controller: 'catalogCtrl',
              onEnter: function() {
                  console.log('route entered');
              }
          });
      $urlRouterProvider.otherwise("/");
  }]);
  </code></pre>
  
  <p>So when i go to url like <code>http://mysite.lc/catalog/#/?producttype=4&amp;colors=5,7,9&amp;models=17</code> console shows 
  <code>{}</code> from catalogCtrl, then
  <code>data is loaded</code> from catalogCtrl $http.get, and only after that 
  <code>route entered</code> </p>
  
  <p>If i do log it that way (at router config) <code>controller: function($stateParams) { console.log($stateParams); }</code> it doesn't output anything.</p>