Revert "DepthFirstAstVisitor no longer tries to visit the children of non C#"

This reverts commit 158b5176a2bd0616596a7b2755a18804c7f01477.

The optimization was invalid; the VisitChildren() method is not
necessarily an unnecessary call on leaf nodes because it is virtual.
Add unit test demonstrating that the DepthFirstVisitor optimization was invalid.
Re-Add Reporting + Reporting.Tests
Add IFileSystem interface to SharpDevelop.
Hide NewFileDialog behind IUIService.
Hide NewProjectDialog behind IUIService.
Use new ProjectTemplate base class.

We now allow loading .xpt files from embedded resources.
Removed debug code.
Implemented array initializer formatting.
Only check attributes, when check id is set.
Separate NewFileDialog from the FileTemplate implementation (use only the abstract base class).
Fix bug introduced by FileUtility changes.
Move all code related to file/project templates to SharpDevelop.Templates.
Changed resolver logging in mcs.
[CodeIssue] Redundant Null Check

No need to check null where is keyword exits.
Merge pull request #155 from leoowen19/master

[CodeIssue] Redundant Null Reference check
Reformatted redundant null check.
Added some tests to the redundant null check.
Added fix from Ciprian Khlud<ciprian.mustiata@yahoo.com>: Fix in
hoping to address the issues regarding some edge cases of remove
redundant variables in relation with functions.
 Auto-Fix for remove redundant assignment have issues in some cases (Part II) fixes