This commit adds a new member function
template <typename T>
std::optional<std::vector<T>>
get_child_items_as_vector(const std::string& child) const;
which retrieves an array-type property value from a property tree.
Initially defined for 'int' and 'double', but could be extended to
'std::string', 'float', or other element types as needed.
This replaces the original specialisations for "bare" size_t from
the <stddef.h> header.
While here, also reorder the specialisations to match declaration
order in the header.
In particular, add Doxygen-style documentation to the header file
and add a simple unit test for the PropertyTree class interface.
While here, also add missing headers and prefer template argument
deduction over explicit template arguments.