[Refactoring] Clean up template semantic code

- Merge `TemplateDeclaration *tempdecl` and `OverloadSet *tempovers` into `Dsymbol *tempdecl` in `TemplateInstance` object
- Standardize three phases - `findTemplateDeclaration`, `semanticTiargs`, and `findBestMatch`