Fix: forgot some lib in shinken/dependencies & jenkins requirements.

For easier dev:
also renamed jenkins new_runtest with ext. and made a link to it.
Merge pull request #1367 from gst/missed_dependencies

Fix: forgot some lib in shinken/dependencies & jenkins requirements.
Fix: broker crash when sub process gt down and are not catch at the begining of the loop. fix #1350
Fix/Enh: changed all bare "except" to "except Exception".

bare except are bads/evil.

https://docs.python.org/2/howto/doanddont.html

Used:

find -type f -name '*.py' -exec egrep -q '[^a-zA-Z]except\s*\:' {} \;  -print | while read f ; do sed -i 's#\sexcept\s*\:# except Exception:#' "$f" ; done # could be a shorter one :p
Better to catch exactly the exception type that you are waiting.
Merge pull request #1376 from gst/clean_bare_except

Enh : Clean bare except
Fix: tests: guessed Notification id could be another value if others tests files were previously run in the same session/process.

If you run this test with others in the same process,
like with: "nosetests -xv test_no_host_template.py test_notification_master.py",
then Notification.id may be != 12 ! (why not 42 ? :p)

Just mock Notification.__init__ (the only one we are interested here) and retain the newly created instances in a list.
The one we'll need should be the first (guessed_notif).
"original" stdout can even miss an encoding attribute.

If run "externally" then sys.stdout could be a StringIO for instance,
and have not an encoding attribute.

safe_print: enh: If UnicodeError problem on write then still fallback on 'ascii' as last possibility.

also use getdefaultencoding for guess encoding.
Enh: make Scheduler a newstyle class.

- To be consistant.
- Used for test debug:
  dynamicaly changed the "action" attribute to a property so
  to trace its usage from the tests.
clean tests: imports of test/shinken_modules.py

Workaround: for livestatus test: it badly import things imported here, instead of importing them directly.
Workaround : livestatus import datetime from here instead of directly.
Workaround : livestatus "sub-"import time_hacker from here instead of directly.
Workaround : livestatus "sub-"import sys from here instead of directly.
Allow to give REGEXPCMD as 6th arg of new_runtest.
Try travis with stdout buffered.

Still need process-restartworker and processes.
because of too much memory usage by the tests.
.. and process-timeout too