Improve the wait.Poll GoDoc and api

Add more tests, and allow maxAttempts to be zero to wait forever