types and parsers for epoch time and absolute DateTime

So the general pattern that I've seen is for a set of 0 or more values, you return a `List[DateTime]`. For a case when you'll definitely return only one, `Option[DateTime]` is the standard choice. And when you'll definitely return one, but maybe more, `NonEmptyList[DateTime]` would be the right choice.

These type signatures all convey detailed information on what to expect. They also avoid edge cases like `List[None,None,None]`. And I'll bet they are all more efficient as well.