A few Clar changes that I've been playing with

This batches up a few more Clar additions that I've been trying out locally:

1. Create a separate `clar__fail()` routine instead of having `clar__assert()` both check the condition and record the failure. This makes it easier to set a breakpoint on `clar__fail` to stop in the debugger when an assertion fails. Without this, you have to set the breakpoint a few lines into the `clar__assert` code.
2. Update `README.md` with a more current description of how to get started with Clar and add a minimalist `main.c.sample` that can be used "off the shelf" to get started. I don't know that the changes I've made here are great, but I think they are a step in the right direction. I put the sample main in the `test` directory which is probably wrong. Do you think it should go directly in the root?
3. Add `clar_assert_equal_s_` and `clar_assert_equal_i_` macros that add an extra "annotation" parameter to the base macros. These are mostly useful to me when I'm using the macros inside a helper function that gets called multiple times and I need a little bit of extra data to understand which code path invoked the helper function. This isn't critical, but it was useful to me.

Sorry for batching up these unrelated changes into one PR. I'm willing to break them out if you wish or you can cherry pick if you want. This was just all the stuff I had pending in my local tree and I thought I'd push it up... Let me know what you think!