Fixes Issue 1673 - Implement the isTemplate trait.
Merge pull request #3380 from AndrejMitrovic/isTemplate

Issue 1673 - Implement the isTemplate trait.
[Refactoring] Remove unused code for 'symfile'
[Refactoring] Remove unnecessary memset for HdrGenState

It's already done in the default constructor.
[Refactoring] Remove unused fields in HdrGenState
[Refactoring] Remove HdrGenState::console
Add Nspace into Visitor
Add TemplateParameter and its derived classes into Visitor
Add Condition and its derived classes into Visitor
Add Parameter into Visitor
[Refactoring] Rename FLinit.init to forStmtInit
Merge pull request #3856 from 9rnsr/fix_visitor

Add Nspace and others into Visitor
Merge pull request #3857 from 9rnsr/refactor_unused

[Refactoring] Remove unused code around header generation
[Refactoring] Remove Type::toCBuffer and use free function instead
[Refactoring] Move toCBuffer(Statement *, ...) prototype into hdrgen.h
[Refactoring] Move Initializer::toCBuffer into PrettyPrintVisitor
[Refactoring] Remove Expression::toCBuffer and use free function instead

Directly call Expression::accept() in PrettyPrintVisitor
[Refactoring] Move Dsymbol::toCBuffer into PrettyPrintVisitor
[Refactoring] Move TemplateParameter::toCBuffer into PrettyPrintVisitor
[Refactoring] Move Condition::toCBuffer into PrettyPrintVisitor