types and parsers for epoch time and absolute DateTime

I find the code in AtTime.scala to be factored nicely between the various patterns to parse. we have three different sources, the joda parsers from string patterns, the iso8601 parser, and the Epoch parser. if we need another jodaPattern, we can just add one string to that list of patterns and we're done. this is made possible by the `List[Option[DateTime]]` return type. this is not entirely a matter of taste. I think the code I wrote is factored in a better way than what you are suggesting.

the user needn't worry about `List(DateTime(a), None, DateTime(b))` because `parseAtTime :: String -> Option[Epoch]` is all the user should use. otoh, there shouldn't be two successful parses, but the fact that the parsers are mutually exclusive is something we have to prove by hand. I did include a scalacheck test for that.