New pull merge



I did:

`git checkout -b new-pull-merge`
`git pull upstream master`

then resolved any conflicts.  There were a couple of questionable ones were in $urlMatcherFactory and ui-view

### urlMatcherFactory.js

```
UrlMatcher.prototype.concat = function (pattern, config) {
  // Because order of search parameters is irrelevant, we can add our own search
  // parameters to the end of the new pattern. Parse the new pattern by itself
  // and then join the bits together, but it's much easier to do this on a string level.
<<<<<<< HEAD
  $UrlMatcherFactory.$$init();
  var UrlMatcherChild = function() {};
  UrlMatcherChild.prototype = this;
  var child = new UrlMatcherChild();
  child.parent = this;
  $UrlMatcherFactory.$$instance.call(child, pattern, config);
  return child;
=======
  return new $$UrlMatcherFactoryProvider.compile(this.sourcePath + pattern + this.sourceSearch, config);
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
};
```

Here I missed the .replace("//", "/") code, but that's one feature I wanted to discuss with you anyway.  

```
    }
<<<<<<< HEAD
    if (param) value = value.map(param.type.encode);
    query.push(key + '[]=' + value.map(encodeURIComponent).join('&' + key + '[]='));
  });

  return query.length > 0 ? result + "?" + (query.join('&').replace(/&{2,}/g, '&')) : result;
=======
    result += (search ? '&' : '?') + param + '=' + (array ? value : encodeURIComponent(value));
    search = true;
  }
  return result.replace('//', '/');
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
};
```

### viewDirective.js

I kept the `getUiViewName` using `$interoplate` from 0.2.11, but it looks like you're actively working with this code, so do whatever.

```
        function updateView(firstTime, config) {
          var newScope,
<<<<<<< HEAD
              name            = getUiViewName(attrs, $element.inheritedData('$uiView')),
              previousLocals  = viewConfig && viewConfig.locals;
=======
              name            = getUiViewName(scope, attrs, $element, $interpolate),
              previousLocals  = name && $state.$current && $state.$current.locals[name];
>>>>>>> 753efee0481d628e3003952117e284c45e4fd702
```

summon @nateabele