REFACTOR: Extract Method `ParseStatement` in AST tests.

This is so common, I figured let's make a method.
REFACTOR: Extract Method `AstBuilder.BuildTypeName`
Minor: use `Single()` instead of `[0]`
REFACTOR: Introduce Explaining Variable
In AST Visitor, pick the overload that matches best.

For example, if you run a visitor over a `StringConstantExpressionAst`,
should it run `VisitConstantExpression` or
`VisitStringConstantExpression`?

Previously, we would pick the overload based on the order as returned by
reflection.
Cast strings to enums.

    PASH> [Text.RegularExpressions.Regex]::IsMatch('FOO', 'foo', [Text.RegularExpressions.RegexOptions] 'IgnoreCase' )
Merge pull request #98 from JayBazuzi/cast

Cast string to enum