std: add `assert_equiv!()` macro, and update `StrBuf` tests

This adds an `assert_equiv!()` macro that allows two items that are not of the same time, but implement the `Equiv` trait to see if they are equivalent. This simplifies comparing `StrBuf` and `&str` types. Along with this patch, it implements `Equiv` for `StrBuf`, and rewrites some of the tests to use `assert_equiv!()`.