feat(client): retry on 500 & 503

User should to try avoid building this library with Boost.Thread.
It's too heavy for just an interruptible sleep operation.