[Refactoring] TemplateMixin symbol resolution

When I see `TemplateMixin::semanitic`, I found that we can improve a little the mechanism for template declaration lookup.

Related to that, I found a grammar bug around template mixin, so I posted [a website fix](https://github.com/D-Programming-Language/d-programming-language.org/pull/278) and it was already merged.

One more, I found a compiler bug that `TypeTypeof::resolve` and `TypeReturn::resolve` did not work as expected. I filed [bug 9504](http://d.puremagic.com/issues/show_bug.cgi?id=9504) and it also was [already fixed](https://github.com/D-Programming-Language/dmd/pull/1659).

In the new grammar, the `QualifiedIdentifierList` can be constructed as a `TypeQualified` object - actually it is one of `TypeIdentifier`, `TypeInstance`, `TypeTypeof`, or `TypeReturn`.

Finally we can simplify `TemplateMixin::semantic` - it's just a call of `tqual->resolve`.