Fixes for C array data member introspection

This pull request is fixes for two 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.  However, the fixes in this pull request are for the ROOT 5 version, which also has the bugs.  The bugs did not affect the relvals in ROOT 5 because the conditions code uses Reflex in ROOT 5, and this bypasses the problem.

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.

Since this request is for the main 7_1_X branch, it is not urgent.