Added support for executors

This pull request replaces the current Node.h with a larger interface which includes executors, groups, timers, and some other common utilities which are required to implement the `ros1_like` examples in https://github.com/ros2/examples/pull/1.
This function calls `wait` internally which I wouldn't have expected based on the name.

It also allocates/deallocates the memory every time. Isn't that kind of a bottleneck especially when doing this with a higher frequency?