Big set of random updates

@j-xiong @sayantansur @rfaucett @jsquyres @jithinjosepkl 

These fix issues #37, #133, #199, #203, #210, #255, #284, #313, #317.  There are several updates to the API that can be discussed, along with updates to the various providers to support those updates.  At the very least, please review the provider changes to see that they are correct.

I don't believe that there's anything controversial here, but I do want to note that I updated the contributors file.