Renamed "reshape_array" to "remake_array".
Added "nested_array_md" alias template.

Added template that takes a type and list of extents and provides a
type-alias to an "array_md" that nests the various dimensions at the
class level, instead of a single class wrapping the dimensions at the
array level.
Added "to_array" function template.

Added function template that takes a (possibly multidimensional)
built-in array and converts it to an "array_md" object, with a
user-specified count of outer-most extents to be referable from the
class.
Moved some code around.

Moved the array-creation functions out of the "other" section into
their own. Moved the support code for those functions closer to them.
Added function templates to (un)do array nesting.

Added "make_nested" function to turn an "array_md" object to an
equivalent "nested_array_md" object.  Added function "unmake_nested"
to convert the other way.