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).
You could use `tempname()` to get a new path each time instead of adding configuration for a custom path.