test/common/common: added tie and ref options to describe operation.
Corrected validation.

compound:
    made multiple instances of compound illegal in compound_validate()¹.

test/desc/validate:
    moved compounds to test/common/nested_comp.hpp.

test/common/nested_comp:
    added structs and tie_d1();
    made extra instances of struct A compound.

1: For now going with the simpler route. At some point there will probably
be some magic with RefDesc to allow tying without having to dupe compounds.
serialize: added RefDesc support, added test.