Added version 2 of the interface, client and service.

Added an invoker that listens for incoming messages and chooses the correct service version to invoke.