mattdrayer/server-api-merge: Server API contribution

Initial submission of the Server API work done by the edX Solutions Team -- needs some more unit test coverage and some seemingly-unrelated tests are not currently passing, but the system appears to be mainly functional at this point.

More tomorrow...