Major overhaul to the API

Switched to using an options argument for request options, including
optional API params. Also moved the retry option into this options
object.
Update docs