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>
AspectJ expressions require fully qualified classnames here. This expression is stating that the advice should be applied wherever the annotation appears.