Replace singleton names with type tags
Summary: This change simplifies Singleton API (methods don't need to accept name) and the actual implementation. It also makes it similar to folly::ThreadLocalPtr. Additionally misspelled singleton name becomes compilation error, not runtime error. Some users were actually naming singletons, when that was neccessary, this should also be fixed.
Test Plan: unit tests for all touched projects
Reviewed By: chip@fb.com
Subscribers: trunkagent, fugalh, jsedgwick, fbcode-common-diffs@, mcduff, hitesh, mshneer, folly-diffs@
FB internal diff:
D1744978
Signature: t1:
1744978:
1419282587:
bd29dd8a70d7572530ac371a96a21764229bc397