* updates gitignore
* implements draft solution
* consolidates update and get
* extends test
* adds cleaner logic
* removes a redundant else case
* refactors cleanup in a goroutine
* adds a jitter to backoff
* stretches the sleep for cleanup
* reduces jitter time
* fixes a test
* adds maximum backoff attempts
* returns error for closing channel
* refactors peer status exceed backoff threshold
* converts if-else to switch
* nit
* consolidates update and maximum backoff check
* bug fix
* nit
* refactors cleanup with a ticker object