Clean up synthetic binding name creation and discriminating
Clean up synthetic binding name creation and discriminating

SaschaNaz/TypeScript,nojvek/TypeScript,weswigham/TypeScript,RyanCavanaugh/TypeScript,SaschaNaz/TypeScript,Microsoft/TypeScript,kpreisser/TypeScript,alexeagle/TypeScript,RyanCavanaugh/TypeScript,SaschaNaz/TypeScript,alexeagle/TypeScript,SaschaNaz/TypeScript,RyanCavanaugh/TypeScript,minestarks/TypeScript,nojvek/TypeScript,weswigham/TypeScript,microsoft/TypeScript,microsoft/TypeScript,kpreisser/TypeScript,weswigham/TypeScript,microsoft/TypeScript,Microsoft/TypeScript,minestarks/TypeScript,kitsonk/TypeScript,kpreisser/TypeScript,minestarks/TypeScript,Microsoft/TypeScript,alexeagle/TypeScript,kitsonk/TypeScript,nojvek/TypeScript,nojvek/TypeScript,kitsonk/TypeScript