datum+misc: r5js.ast.Identifier. Use instead of r5js.DatumType.IDENTIFIER.
datum+misc: remove r5js.Datum#isIdentifier in favor of instanceof checks.
datum+parse: add common base class for simple datums, use for instanceofs.
datum+misc: add common base class for literals, use instead of isLiteral.
misc: use direct ctors instead of r5js.data.newIdOrLiteral where possible.
datum+proc: inline last use of r5js.data.newIdOrLiteral and remove.
misc: put r5js.data.maybeWrapResult into its own namespace+file.
datum: put r5js.ast.Boolean in its own file.
datum: put r5js.ast.Character in its own file.
datum: put r5js.ast.Number in its own file.
datum: put r5js.ast.String in its own file.
datum+proc: push shouldUnquote* from r5js.Datum down to r5js.ast.Identifier.