make APIs match

Makes the python and c# APIs match (but use normal language specific
conventions). Also adds tests to make the two sets as similar as possible.
Merge branch 'api-match'