Common: Add Vector2d::toArrayOf*()
hdf: Move hdf::Type and type checking utilities to separate header

In order to simplify hdf::Value.
hdf: Rewrite hdf::Value with templates