Bug 914532 - Split contacts exported to the SD card if the output is too large r=bkelly

- ContactToVcard was modified to convert contacts in batches, its
  interface has changed in that it now requires two callbacks
- ContactToVcardBlob still processes all contacts in one go
- Both functions now implicitly rely on shared/js/setImmediate.js for
  setImmediate() functionality
- Unit-tests have been adjusted to accomodate for the changes and test
  the batch conversion