peerconnection: workaround weird getStats behaviour and return chosen candidate type to callers

Two things:
1. workaround for https://code.google.com/p/webrtc/issues/detail?id=3665
2. add `candidateType` to `WebRtc.Endpoint`

This will allow clients such as `churn` to identify when relay candidates are in use.