feat: discovery supports retries (#967)

Adding ability for discovery to retry on eligible http errors
and connection problems with randomized exponential backoff.

Also:
 * DRYing discovery tests to avoid warnings when reading test data.
 * Updating .gitignore

Fixes: #848
diff --git a/.gitignore b/.gitignore
index 1637b1d..59b756c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,7 @@
 .coverage
 coverage.xml
 nosetests.xml
+
+# IDE files
+.idea
+.vscode
\ No newline at end of file