Use 'perfect forwarding' of arguments to plugins

The old code could not support rvalue references in plugin constructors
because the code was not using C++11 'perfect forwarding' idiom.
Merge pull request #304 from Dr15Jones/properForwardArgsToPlugins

Use 'perfect forwarding' of arguments to plugins