API Documentation

First pass at adding/updating class, function and API docs in the code.