Fix shared ssl context reload that blocks rocket alpn & add unit test
Fix shared ssl context reload that blocks rocket alpn & add unit test

Summary:
D22567008 (https://github.com/facebook/fbthrift/commit/a0e3a89c5fd7d2b8a34b628562a800e31cb1a993) enabled shared ssl context by default, which broke ssl reload triggered by Configerator config override (e.g. rocket alpn config which controls rocket rollout). This diff disables the shared ssl context by default until a proper fix is landed.

Update:
Fixed SharedSSLContextManager

=========================================================
To repro the issue, remove the change in `SharedSSLContextManager.h` and `ThriftServer`,
and run the newly added unit test:
```
buck test servicerouter/security/tests:thrift_alpn_test -- ThriftALPNConfigUpdateTest
```

More detail:
Rocket transport is rolled out to all TLS services via a Configerator config. Whenever the config changes (e.g. override value is updated), it triggers a reload of ssl context for all servers that matches the override rule. Specifically, the nextProtocols list is changed, and rocket is preferred over other transport in the list.

Reviewed By: andriigrynenko

Differential Revision: D24295854

fbshipit-source-id: e47717bde9f591712969d0ce2009999d293d2188

facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift