A date class for storing partial dates - for example when a month or day are unknown, or optional.