Clean-ups

1. Adds missing documentation
2. Uses canonical URL for downloading Sauce Connect instead of
   their current CDN provider
3. Fixes NullTunnel#sendJobState to return a promise to meet the
   API, and to use Promise.resolve instead of accessing
   Promise.Deferred