Regression: Settings_DumpTranslator broke with the new layout:

Under #174.

Introduced bolt._findAllBashModules() that should be more robust against
file moves. There is room for improvement - does double job - hacked
together from:

http://stackoverflow.com/a/1310912/281545

Due to 'pyw' extension we 're doing double job: we first call listdir()
and then iter_modules(). If we ignore u'Wrye Bash Launcher.pyw' we can
keep only the iter_modules loop (using bashPath.join(p[1] + u'.py'), see
the code as it was in settings_links.py). Not sure if iter_modules keeps
`__init__.py`s though. Consider also using pkgutil.walk_packages.

cwd: os.getcwdu() is the autohotkey script (I start Bash with) dir when
def is executed - so I moved it inside _findAllBashModules().

settings_link.py:
Some minimal wrapping and _basslang() function to factor out the common
code for getting the language.

Warnings from the translator:
*** bash\bish.py:794: Seen unexpected token "+"
*** bash\bolt.py:215: Seen unexpected token "text"
*** bash\bosh.py:11511: Seen unexpected token "settings"
*** bash\cint.py:76: Seen unexpected token "obj"
*** bash\basher\app_buttons.py:342: Seen unexpected token "%"
*** bash\basher\app_buttons.py:782: Seen unexpected token "+"
*** bash\basher\installer_links.py:612: Seen unexpected token "bush"
*** bash\basher\installer_links.py:1266: Seen unexpected token "%"

.gitignore: binary .mo files and 'NEW' translation files