Add most missing documentation.
Replace many instances of @api private with @private so yard ignores it properly.