removal of fail keyword Issue #4524

Removed fail keyword.  2 of the 3 steps here.  The followup pull request will be replacing die! with fail! after a new snapshot is created.  The first commit removes almost all invocations of fail with die!, the rest are caught in the second after fail is removed from the lexer & parser.  Tests are green after applying the first or both patches.  I'd like to separate these from the final commit that involves a new snapshot.  Heads up @bstrie & @brson.