feat(mocks): Injected function(s) now return value(s).

I just ran into this problem:

```javascript
describe('foo', function() {
  // Create a scope and setup the module...

  var createController = inject(function($controller) {
    return $controller('Foo', {scope: scope});
  });

  it('should create the controller', function() {
    var ctrl = createController();
    expect(ctrl).not.toBeUndefined(); // FAIL
  });
});
```

I was trying to do some setup on a fake injected service in my spec before creating the controller.

It turns out that while inject returns your function injected it does not respect your function's return value. So in my example, the return of the controller goes nowhere.

However, the `Injector.invoke` call _does_ return the value of the invoked function. In my commit, I simply pass it back from `inject`. If more than one function is used in `inject`, then an array of return values is passed back.

I'm not sure if there is something I'm missing, so I would love to hear what you think about this change. I think that it makes the `inject` function work as expected.