fix: assure we update the right metrics objects. see #32

we used to return the newly created object, always.
even when registering failed due to prior existing objects.
this manifested itself in cases where:
* conn up, conn down, conn back up
* new conn gets new counters, but registry still contains old ones
* conn increments counters, but you don't see it in expvar or graphite