refactor: use static gson instance
refactoring (sync some updated from intellij github plugin)

- http handling (support new methods, use head request for login, use stream instead of string for json parsing)
- logging (use same logger for all classes)
- self signed cert message box