Support Push socket type

Throw IllegalArgumentException if dispatch falls through [ci skip]
Refactor PullTest example to PushPull

Add RequestReply example [ci skip]