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.
Each task can have multiple claims. Each claim has a linear sequence of updates, which may arrive in any order. A completion is an update. Therefore, a task may be completed more than one time. We try to avoid it, but it can happen.