add FiniteDuration parsing

mostly because it's pretty easy to add a parser while it's a bit of a pain to manually go from a `Duration` to a `FiniteDuration`.