Fix file.as<output_format>() with bad data.

If a file is added with unexpected data (null or undefined), the
results of .asText/asBinary/asUint8Array/asArrayBuffer aren't
consistent (and the generate method will fail).

With a null / undefined value, asText() will return this value but will
fail if the file is flagged as binary (or base64). The other getters
will also fail : if asBinary does not return a string, asUint8Array and
asArrayBuffer will fail.

With this patch, every getters will return "" (instead of null /
undefined / exception) for bad data. As a side effect,
zip.file("test.txt", undefined) won't break anything (it will treat it
like "").
Merge pull request #36 from dduponchel/fix_undefined

Fix file.as<output_format>() with bad data.
Run tests in IE 10.

IE 10 doesn't support the charset=x-user-defined trick and doesn't
interpret conditional comment. The only way do download a zip file is
to use the responseType option... which isn't compatible with jQuery.

Good bye, jQuery :-)
Add a unit test for #33
Update firefox support on a.download

See https://bugzilla.mozilla.org/show_bug.cgi?id=676619
Explode the test/index.html file

This patch explode the test file into :
* test/test.js : the unit tests
* test/browser-test-utils.js : the browser specific stuff (loading
  binary data)
* test/browser-ie-test-utils.js : the IE <= 9 specific stuff
Update QUnit (1.2.0 => 1.11.0)
Launch tests in nodejs with node-qunit

Now that the test are separated from the html page, we can do this :)
Merge pull request #37 from dduponchel/ie10_and_tests

IE10 and tests