defrecordp support dynamic name and fields

Also adds unquote fragment support to typespecs