Results 5 issues of Grvzard

: to use ```replication.BinLogStream``` with gtid requires ```master_auto_position```, which is a ```gtid.GtidSet```. : create a ```gtid.GtidSet``` needs a ```set[gtid.Gtid]```. : create a set needs the elements to be hashable. :...

If we make `sentry` an optional feature, the number of dependencies in `pingora-core` will decrease by around 70+. And it will significantly reduce the size of the binary.

enhancement
WIP

This may introduce a breaking change for users who have `sentry` in their production environment. **To make this PR work, #396 has to be merged first.**

Accepted
dependencies

~The port from #344 was not complete, the first commit finished it. The second commit fixes a bug from previous work. Now it works.~ EDIT: rebased.