Tagged value object separate from AST

I've given it an obviously terrible name, which ought to be changed before landing.

This is a fix for dreid/edn#24