Check whether crack front node exists in CrackFrontData

closes #4161

I had this problem while using CrackFrontData as a separate postprocessor instead of through the DomainIntegralAction, which is not the normal way of using it, but an extra check probably doesn't hurt.

Unrelated to this, I found that a crack with only two crack front nodes (e.g. a one element thick plate) leads to an infinite loop inside CrackFrontDefinition. This adds a fix for that too.

@bwspenc
Great job using mooseAssert()!