CB-2530 and CB-2239 Multipart plugin result

This patch does a bunch:
* [ios&android] Adds support for multiple argument callbacks for
  win/fail (by way of updating callbackFromNative)
* Adds MultiPart message type, which supports an array or return
  arguments from a plugin result (and will massage each argument, such
  as ArrayBuffers)
* Update Echo plugin to test MultiPart messages
[Android] Fixing failing jake tests

Android jake tests were testing android's callbackFromNative arguments
are called with specific parameters.  The format changed slightly with
the recent MultiPart message type, so I had to update the tests.
2.5.0
Merge branch 'next'
Implement FileTransfer with XHR for qnx
switch alert to console.error for fail to load webworks.js
fixing deviceready
Merge branch 'master' into next
[CB-861] Header support for FileTransfer download

Added support for an optional options object as the final arg. Currently only handles the options.headers object (as per the issue).

`FileTransfer.download(source, target, successCallback, errorCallback, trustAllHosts, options)`

This is needed for using FileTransfer.download with Basic Authentication, etc. Sadly since Android 2.x doesn't support XHR2, this is needed in FileTransfer.

I have only added support to Android and iOS (see other PR's).