* feat: introduce tls parameters in config to allow startTLS
* feat: pass tls config for startTLS to ldap server
* build: update libs to use newer ldap
* feat: allow tls config for startTLS
* feat: introduce new prometheus monitor object
* feat: add LDAPMonitorWatcher as a potential replacement for v0 Collector
* feat: pass monitor object as dependency and instrument core operations
* feat: instantiate monitor in main
* ci: exclude mock files
* ci: generate mocks before running tests and go vet
* ci: make vet command keep going in case of errors
reason is due to the following happening in the GetStats method of the ldap.Stats struct
```
internal/monitoring/mock_interfaces.go:92:13: assignment copies lock value to ret0: (github.com/nmcclain/ldap.Stats, bool) contains github.com/nmcclain/ldap.Stats contains sync.Mutex
internal/monitoring/mock_interfaces.go:93:9: return copies lock value: github.com/nmcclain/ldap.Stats contains sync.Mutex
internal/monitoring/ldap_test.go:23:56: call of mockLDAPServer.EXPECT().GetStats().MinTimes(1).Return copies lock value: github.com/nmcclain/ldap.Stats contains sync.Mutex
```
* deps: move to use go.uber.org/mock/gomock