Fix behaviour in unwriteable directories by adding user-configurable output file

This is the new `output_filename` flag.  Defaults to a location in `/tmp`.

If the write fails, it no longer does stuff that doesn't make sense (opening the browser; trying to delete the file).

While I'm at it, I added a `.gitignore` for taggy stuff.

By the way, I would like to try out the workflow described at ["Merge pull request" considered harmful](http://blog.spreedly.com/2014/06/24/merge-pull-request-considered-harmful/#.VHY1oVVGjUZ).
I've had time to think about it more.  I think it's cleaner to just use `tempname()`.  I'll fix it up.