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...

@clintonb @mikigoyal @smagoun, FYI
@e0d: Any guess how long it would take to migrate our entire userprofile table? I know it's not the same scale as CSM, but is it tractable or intractable?