Evaluate macro arguments once in fail_unless_equal

Rookie mistake.
Merge branch 'feature/macros' into develop

* feature/macros:
  Evaluate macro arguments once in fail_unless_equal
Set value of derive statistic

We didn't have a `bws_derive_set` function before since derives are
supposed to be counters that never decrease in value.  By only providing
incrementors, we could guarantee that just using the C type system.
But, we already have a use case where we need to fill in a derive
counter from a source that is itself always-increasing, and I don't
really want to play arithmetic shenanigans just to get around the fact
that we don't have a setter.  So now we do!