runtime: replace three string literals with r5js.parse.Nonterminals.
datum+misc: add r5js.Datum#firstSublist, use instead of at(LPAREN).
datum: r5js.Datum#at no longer needs to read type_ field.
ast: add r5js.ast.List#isDotted and use instead of DottedList conversion.
ast: move r5js.Datum#isImproperList impls into subclasses.
ast+datum: remove no-longer-used r5js.Datum.type_ and setter.
datum: make r5js.Datum.immutable_ private.