add more Period conversions, further canonicalize CompoundPeriod, and throw InexactError for Period conversion that would involve truncation (fixes #9171, fixes #9169)