use folly::pretty_name in cpp2 serializer
use folly::pretty_name in cpp2 serializer

Summary:
For warning about serializing and deserializing non-struct and non-union types. Since `folly::pretty_name` is always available and does not require RTTI and RTTI generation.

Use tag dispatch to simulate if-constexpr.

Reviewed By: Mizuchi, iahs

Differential Revision: D29966457

fbshipit-source-id: 6c077c1a31f98588dfb8f6b8d9a42a65a1577679

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