Retryable pattern with C# 6
Thanks to the new "when" keyword in C# 6, we can easily implement a retryable pattern when an exception is thrown. http://geekswithblogs.net/BlackRabbitCoder/archive/2015/04/09/c.net-little-wonders-exception-filtering-in-c-6.aspx