Retry Wrapper

attempt open, if fails wait then try again

1.0 Responsibilities

Attempt to open an instance, e.g., file stream, socket, ... that may fail. If open succeeds it returns the opened instance, as a filled optional<T>. If open fails, it sleeps for a specified time and attempts to open again.
It continually attempts, for a specified number of times, to open, returning the instance on success. If all specified number of attempts fail it returns an empty optional<T>.

2.0 Status

Code in the repository are my solutions to midterm questions, and do not fully satisfy the responsibilities, listed above, e.g., doesn't use optional<T>. This is second priority so won't be completed until I need retry for one of the projects I'm working on.