GH-8458: DateInterval::createFromDateString does not throw non-relative items are present
Extended tests
Add support for serialising all DateInterval objects
Rename have_special_relative to from_string, fix serialisation constraint, and reorder fields
Add a few test cases for DateInterval