Replaces pseudo-semaphore with spinning retries with mutex

I've tried running this in a couple of different environments with large numbers of concurrent threads writing a lot of data to the journal and seen no difference in performance; however, I'm convinced that conditions exist in which the original code could starve a thread. This new version should easily avoid that; it also reads a bit easier.

I'm not sure if the fusesource branch of Hawtjournal is active anymore or if it has been pulled completely within Redhat, but I'm executing this pull request just in case this repository still gets watched.