Made dynamic array separate descriptor type; see full commit message.

DescType:
    added vector type to take over dynamic array.

DescData:
    added class VectorDesc;
    added sanity checks for vector and array descriptor data classes.

Desc:
    made string and vector descriptor data classes accept any
    definition of std::basic_string and std::vector;
    made array descriptor data class bind only to bounded array;
    corrected cast in array tie ctor.

test/common:
    added common test utilities.

test/desc/desc:
    updated for vector type;
    added describe tests.