add assert_eq! macro

the assert_eq! macro compares its arguments and fails if they're not
equal. It's more informative than fail_unless!, because it explicitly
writes the given and expected arguments on failure.
change some uses of fail_unless to assert_eq
auto merge of #5407 : jbclements/rust/add-assert-eq-macro, r=jbclements

Adds an assert_eq! macro that asserts that its two arguments are equal. Error messages can therefore be somewhat more informative than a simple assert, because the error message includes "expected" and "given" values.