separating ActionServer implementation into base class and ros-publisher-based class

Currently, if one wants to implement an action server in an environment with the same datatypes but a different transport mechanism (like in orocos) then one has to re-implement the entire actionserver interface (see: [oro_action_server](https://github.com/RCPRG-ros-pkg/orocos_tools/tree/master/oro_action_server/include) )

This instead separates the ActionServer class into ActionServerBase and ActionServer, where ActionServerBase handles callback routing with the goal handles, and ActionServer handles the actual publishing of data over ROS topics.

@konradb3