Add ability to block by acquiring and releasing a unique token (BL-475)

It might be safer to use Path.Combine instead of just concatenating the path and the name. Or is Path.GetTempPath guaranteed to always return a path ending with a slash/backslash?