Make llvm/clang happy.  Not sure why, but moving the >> operators that
convert from YAML::Node instances into the namespaces where those
items are declared made it work.  It might be interesting to find out
whether GCC or Clang is more standard compliant here, but that is not
such a pressing issue...
starting point for add ROS support
Basic setup for plugin functionality in npm.  I think this could
actually be moved up to sfl, or even fpplib, but let's first see how
it pans out. Concrete first goal: use this to plug a robot client into
npm.
Can now load plugins via yaml files. For now, use absolute paths to
avoid the issue of searching for plugins that match certain patterns.
Turning npm::Factory into a singleton solved the problem of how to get
the factory instance into plugins so that they can declare new
types. Similarly, made the parser available through npm::Factory so
that plugins can register new converters. Testing it by just
redirecting the testZombie name to npm::LidarZombie.

The interesting work can now begin...
Yeah, it works: a nepumuk zombie publishes its scan via ROS!

1. launch roscore
2. run nepumuk with the test-plugin.yaml file (you probably need to
   tweak the hardcoded absolute path of the plugin first)
3. launch rostopic echo Zombie0_scan
4. press 'c' in the nepumuk window