Make PKI stack thread-safe
It is necessary to provide a thread-safe PKI for several cases:
- PKI trust list update feature: shared between S2OPC library and application thread or S2OPC library layers
- OPC UA client use case: PKI is shared between services and secure channel layers, if it is shared between several connections it might