support for the Go 1.8 shared object feature of loading external
plugins.
this support relies on the developer defining a `Plugin` symbol in their
.so file that is a telegraf plugin interface.
So instead of the plugin developer "Adding" their own plugin to the
telegraf registry, telegraf loads the .so, looks up the Plugin symbol,
and then adds it if it finds it.
The name of the plugin is determined by telegraf, and is namespaced
based on the filename and path.
see #1717