Large or critical patches are discussed amongst the devs and with the submitter. The criteria are importance and quality of a patch. There is no voting, usually we agree on what should get in and what not (nearly everything good and new will go in). We did not yet have the situation where one dev was completely for, another dev completely against something.
Small or uncritical and clean patches can be applied immediately without discussion but with just one review.
Come up with a clean solution to make it easy to merge.
In general, it's not that hard to get commit rights, regular patches and being able to discuss your changes and being able to accept criticism of your work are needed. And you need to show that you understand the responsibility and do not apply any stuff just because you think it's cool and on the way start breaking stuff. It's really important to be able to discuss your stuff before you commit it, we can't stress that enough.
To technically ask for a patch to be merged just fork from github the code you want to fix (yafaray library or exporter you choice) and ask for a pull request.
Yes, you can find the most recent API documentation for Core and Blender Exporter here.