Fix a bug in the pretty printing of string interpolation.

For string interpolation expressions, the `$` was printed twice if there
were braces surrounding the expression.

Also add a special case for empty map and list literals to pretty print
them without a newline before the opening and closing bracket or brace.
Remove redundant check in the code.
Merge pull request #45 from kmillikin/bugfix

Fix a bug in the pretty printing of string interpolation.
Wrap the analyzer's AstFactory class.

Provide our own API for constructing AST nodes rather than using the
analyzer's AstFactory from testing/ast_factory.dart.  Under the hood
it still uses the analyzer's AstFactory but it should be possible to
provide a direct implementation in terms of the AstNode constructors.
Fix a bug where constructor names were omitted.

With the new AST factory functions, constructor names were omitted in
some cases.

Also, move the generation of names around so it matches the old code.
It's somewhat arbitrary, but this makes the diff between old and new
consistent.  That's obviously not a great reason going forward, but it
doesn't matter too much either.
Merge pull request #47 from kmillikin/factory

Wrap the analyzer's AstFactory class.