Fix introspection of C array data members

This pull request is fixes for three different problems involving C array data members, plus a unit test that would have found one of the problems.  These problems all caused failures in conditions code in many relval tests in the ROOT6 branch.

1)MemberWithDict::typeof(), when the member is a C array, stripped off the array information and just returned the underlying type.  The array information should not have been stripped.

2) A framework unit test is added here that would have found the above problem.

3) TypeID::className() put a space between the base type name and the opening square bracket. This is incompatible with the naming used by conditions.

4) In the ROOT6 specific code in CondCore/ORA, the C array information was not stripped off in several places where it should have been.  This pull request strips it off when needed,

Note:  Items 1, 2, and 3 are not ROOT6 specific. The fixes and tests there will be back ported to 7_1_X.
Item 1 may be backported further if offline management wants it.

Please merge this in the ROOT6 branch promptly unless there are issues.