datum+runtime: start reducing the eqv? type switch by overriding isEqual.
ast+runtime: implement r5js.ast.DottedList#isEqual.
ast+runtime: implement r5js.ast.Vector#isEqual.
runtime: implement r5js.ast.Lambda#isEqual.
ast+runtime: implement r5js.ast.List#isEqualNoRecursion.
ast+datum+runtime: mostly rename r5js.Datum#isEqual() => eqv().
ast+runtime: implement r5js.ast.String#eqv.
ast+datum+runtime: finish removing eqv? type switch.
parse+macro: r5js.MacroIdTransformer_: narrow type of ctor param.
runtime: remove an apparently dead branch.
misc: insert casts needed for moving {get,set}Payload to r5js.ast.SimpleDatum.
datum: move {get,set}Payload from r5js.Datum => r5js.ast.SimpleDatum.