NO-JIRA: Fix ignored python exceptions "Selectable' object has no attribute '_impl"

Fix errors introduced by:
  e769ad5 NO-JIRA: Fix core dumps and memory management errors in  python binding, engine.py.
Deleted attribute _impl was later being checked for None.
PROTON-772: Avoid use of GNU extension ## command deletion.

The following idiom is GNU C specific:
-#define pn_logf(fmt, ...)
-            pn_logf_impl(fmt , ##__VA_ARGS__);

The use of ## after a comma deletes the comma if __VA_ARGS__ is empty, so the above works
even if there is no argument after fmt.

The following is more portable:

+#define pn_logf(...)
+            pn_logf_impl(__VA_ARGS__);

Now fmt is included in the variadic argument list so it is never empty.  This is
slightly less self-descriptive since it doesn't correspond as well to the
signature of pn_logf_impl(fmt, ...), but it is standard C99.