HTTPAppender and general SSL Improvements
allow selection of an alias from a client keystore if one is specified, if none specified, the current behaviour is to be retained
SSL config entity type
To elaborate on "SSL config entity type", we need an entity type for storing ssl configuration details that can then be referenced in various places in stroom, e.g. HttpAppender, HttpCall (xslt func), Elastic Search, etc. This makes it easy to define a set of ssl creds once and use them in multiple places.
Such an entity needs to capture all the data held in SSLConfig. Thought needed on storing the password and who can access it. HttpAppender, HttpCall, Elastic, etc. would then need to be changed to reference an SSL Config entity and not capture any ssl config themselves.
The SSL config entity ought to do sensible validation of the values. e.g. if useJvmSslConfig is true, key/trust store props should not be set, if a keystore is specified and a trust store is not, if a key/trust store path is invalid, etc.
Also HttpAppender and HttpCall use different mechanisms for sending the http request (Connection vs OkHttp). We ought to standardise on one.
relates to gh-1684