Use set rather than mono-valued dict

for a cleaner implementation tracking directories created
Lord save us from the stray trailing comma!

Python is a wonderful language, but when a stray trailing comma (barely
visible on my fly-specked laptop screen) causes an inscrutable error like
"'tuple' object has no attribute 'endswith'" - and doesn't even
trigger a warning from pylint! - really, the government should pass a law!
(or, at least, there should be a pylint extension to catch this error)

[There is, in fact, a pylint ticket about this very issue, but it remains
unresolved: http://www.logilab.org/ticket/92253]
Actually copy files into existing directories
Better exception hierarchy handling to avoid missed exceptions
Working XPI langpack generation

but rather slow
Add more logging to Mozilla extension actions
Generate consistent download filenames

This is probably necessary for caching to work properly