Made Desc approx. 0.2 times less terrifying; see full commit message.

Reordered constexpr.

Desc:
    changed from placement-new hack to descriptor data union¹;
    renamed BoundedDescCompound to DescCompoundRef;
    untemplated Desc::get_data().

desc_traits:
    added DescType class testers;
    added primitive_desc_to_type and primitive_type_to_desc.

test/desc/desc:
    directly instatiate Desc instead of implicit-construct followed by
    copy-/move-construct.

1: More complex ctor instantiation, and a whole slew of issues with Clang 3.x, but no external call.