added documentation

Almost everything is now either documented or accounted for with a 'todo' so "grep -cr 'todo' ./docs/api" gives a rough approximation of how much work needs to be done to complete the api.  I should be able to get some of the method return types with a program, but other than that I think everything is going to be human-powered from now on.