In order to chain exceptions add a helper that can
be used to chain exceptions automatically (when able)
and use it in the various places we are already creating
a new exception with a prior cause so that on py3.x the
newly created exception has its 'cause' associated using
the syntax available to do chaining in py3.x (which formats
nicely as well in that python version).
Change-Id: Iffddb27dbfe80816d6032e4b5532a0011ceedc95