[Nimble] Add matcher `BeSameInstanceAs()`

Adds matcher `BeSameInstanceAs()`, which compares two object instances to see if they are the identical instance.

If either or both instances are nil, `BeSameInstanceAs()` returns false. Ideally, `BeSameInstanceAs(nil)` should raise an exception, but as of right now, there doesn't seem to be a way (that I can figure out) of testing that, so for right now, it simply returns false.
I'd prefer the failure message to mimic the `Equal` matcher:

```
expected 'Sandor Clegane' (0x0001), got 'Sandor Clegane' (0x0002)
```

Also, won't the forced unwrapping here raise if `actual` or `expected` are `nil`? This will cause the test suite to crash instead of displaying a test failure. I ran into a similar issue here: afcd0b3998f5f38755b1c87780b44836629aa583.

In the case of nil, the failure message should be something like:

```
expected 'Sandor Clegane' (0x0001), got 'nil' (0x0000)
```