FC-69 Replace Remote Call with @Retryable and new Continuation implementation

Remote calls used SQS to distribute execution of command and query methods, as well as enable retrying of failed commands/queries. This causes subtle issues with failure scenarios, and problems with method call or response serialisation.
Remote calls have been replaced with equivalent functionality that does not use messaging (SQS). This change introduces new annotations, @Retryable @DeferResult and @ContinueResult. These support retries and continuations.

Signed-off-by: Steffan Westcott <steffan.westcott@clicktravel.com>
Please reflect this in the TODO comment.