Documentation update: testing, contributing, and the API

This updates the API document to read appropriately given the changes during @jdnc's time.  It also updates contributing slightly.

Most importantly, though, it adds a detailed document describing how to set up testing with remote and monkeypatching.  These are essential for our first release.