bus: handle different versions of postal.diagnostics

In postal.diagnostics 0.7.0 and previous version, the factory function
was requiring to provide an underscore-compatible implementation (like
lodash) and the appropriate instance of postal.

This has been changed in 0.7.1 which only expects an instance of postal
and will require internally lodash.

The previous commits fixed that by requiring 0.7.1 or more recent. We
try to be more future proof by invoking the factory function depending
on the number of arguments it expects.

This should fix #5.