[ref] #409: Improve endpoint determination code layer

Implement determine_endpoint() to replace Endpoint()
It handles custom, default g1 and gtest endpoints
Read custom endpoints from a regex
Handle host/ipv4 mixup fix with ipaddress
ipv6 support with brakets

Rename peer to endpoint:
option --peer/-p −> --endpoint/-ep

import sys and silkaj.constants directly

write tests

Kept the ability of not having click installed
- #354 The tests are difficult to write
Actually, I am not sure if this feature is easy use.
Using Silkaj as lib is kind of difficult since click is
imported in almost every modules
8 jobs for !193 with 409_determine_endpoint in 3 minutes (queued for 9 seconds)
latest detached