Apply formatting
Use an overloaded FetchBuildStatus method and add some Exceptions

Additionally, the "steps" key will return a List of steps and their
results along with a URL to view the log file for that step. Param
access has been updated.
Iterate correctly over the steps
Add duration to the step status
Reference the correct timestamps for start/end times
Use null for forcing lookup by commit hash
Include ids in the response for building links later
Remove leading slash, we are expecting WebSiteUrl to include it
Use the id's instead of previous passing

Forgot to change these around, my bad.
Include generation time, and add note to revisit duration.