Ensure only valid claims can be completed

In investigating #87 I noticed that there was no validation that a claim existed and was valid when it was completed.

I have asked some questions in #90 to clarify what the intended behavior is, but I believe that it shouldn't be possible to complete a claim that is not currently valid.
The issue I was trying to solve was #87 where we're getting a `NullPointerException` when [`min` tries to operate on `nil`](https://github.com/eric/skuld/blob/b43ebb22f931068c565d55113362c90d6f5b80a8/src/skuld/task.clj#L145-L148).

Maybe the right thing to do is to skip all of this validation and deal with it in merge?

Is any of this validation something that is needed?