fix: remove unused names found by pyflakes
fix: hash-collision avoidance code was borked

Two! undefined names suggest that it's not used really that often.
fix: really clear _file_cache

Previously, just a local variable was set.
fix: more .gitignores
fix: don't create new lists and dictionaries where unnecessary
fix indentation level

zsh» ./test_wiki2beamer.py
Traceback (most recent call last):
  File "./test_wiki2beamer.py", line 23, in <module>
    from wiki2beamer import *
  File "../code/wiki2beamer.py", line 690
    state.defverbs.clear()
                         ^
IndentationError: unindent does not match any outer indentation level
fix: style fixes
enh: use ordered dict if available for keep code listings order

This makes debugging of w2b output easier -- the code samples
at the top are in the same order as in the source file. If
OrderedDict is not available, the behaviour should be the same
as previously.
new: test for special characters inside [code]
Merge pull request #7 from esc/cherry_pick_keszybz_master

Cherry pick keszybz master