Adds a variant of the map function which allows propogation of exceptions

Adds map_propogate_exceptions function which differs from map
in that it allows the propagation of exceptions from extension
functions rather than just logging and ignoring them

Am not so sure about the function name, but I can't think of anything better and
I don't think its possible to modify map without breaking backwards compatibility.
It is however a feature I really would like for use within Nova as currently there is no
way to propagate errors up gracefully.