Bug 914532 - contacts export to sdcard can OOM kill the app - WIP

This patch batchifies exporting contacts. It doesn't solve the problem, it just moves it to the API consumers, such as sd.js or bt.js, who still have to store the vcard string, but this could be handled by the solution Gabriele proposes above.

Note that the batches are not sequential now. The exporter keeps processing batches and doesn't wait for the consumers to give any signal about the processing of the previous batch being finalized. This would involve the API consumers to somehow signal the exporter that it can go on with the next batch, probably using a callback. I'd like your opinion on whether that's necessary or not.