Feature/json array

Hi Daniel,

this pull request includes two things:
* Changes template name from C to Char for internal class as_value because clang does not like template name parameter re-use (clash error)!
* make_array is now a template method taking, as parameter, number of dimensions. this template parameter has 1 for default value so make_array without any template argument continue to be usable.
To avoid any potential ambiguity with overloaded make_array methods, I rely on meta-programming (coming from standard header type_traits).
relying on template parameter enables to have a uniform way to create arrays: all arrays are created using make_array.

Marc