Become atomic, rename some functions.

Originally, we would rm the existing tags file then rebuild it, this
created a gap where vim might try to read the currently-generating tags
file and error.

Now we generate the tags to a temporary file, then atomically move it
into place when done.
Update README