Fix stream closing bug with "tx / rx bytes" branch

The last pull request which was merged, for exposing metadata and tx / rx bytes, contained a bug in the _closeWithStatus method. It was removing a stream from _activeStreams while iterating through it. This fixes that bug, and introduces 2 unit tests: 1 for that issue, and 1 for the metadata in the mainline case. More tests are needed, but this gets us started.

A big thanks is owed to @blakewatters and teammates for their work on push requests, which is where I got the bulk of this mocking code from. It's been modified to not use OCMock, for better or worse. This test code is all very applicable to testing push requests, which isn't quite done yet.