types and parsers for epoch time and absolute DateTime

in this type signature I'm not regarding List as a collection but as a non deterministic value. so `List[Option[DateTime]]` is one non deterministic DateTime which might or might not be there. this corresponds to our notion of parsing: we have a bunch of possible successful parses, but none of them might succeed. anyway the names are chosen for the sake of this line in `parseAtTime`

```scala
val parsers = stringToEpoch(s) :: (stringToDateTime(s).map(_.map(dateTimeToEpoch)))
```

you're right, the patterns are mutually exclusive. see this test https://github.com/sshastry/timeserieszen/blob/reader/src/test/scala/timeserieszen/retrieval/AtTimeSpec.scala#L33