Don't generate subfolders.

Fix #130, see this issue for more informations.
Merge pull request #136 from dduponchel/issue_130

Don't generate subfolders.
refactor : move the crc32 function
refactor : move the utf8{en,de}code functions
refactor : extract StringWriter and Uint8ArrayWriter
Fix #123, deprecate functions
Add comment support

This commit add the ability to read and generate comments on the zip
file and/or on each zip entry.
Fix #134.
update build dependencies

The old version of the saucelabs plugin may explain why I couldn't run the
saucelabs tests.
I'm also upgrading the other build dependencies.
move ZipObject and JSZip attributes

Now `date`, `dir` and `comment` are attributes of `ZipObject`.
See #137 for more details.
Improve backward compatibility for ZipObject

If the user changes the metadata after the creation of the ZipObject AND
uses `JSZip#file` to access directly to the ZipObject, he will get a
bug. With this patch, we now store the initial values of dir and date
(changing dir afterward is a bit dangerous but you can't guess what a
user would do).
If the date (or dir) has been updated via the new path, we use the new
value. Otherwise, we use the value stored at the old path. That way, we
don't need to check the old path against the initial value.
Merge pull request #137 from dduponchel/comments

Add comment support
Merge pull request #138 from dduponchel/deprecate_utils

Deprecate internal functions exposed in the public API
Adding the Pile of Poo test

TODO : fix the utf8 implementation to make this test pass :)
replace the UTF-8 implementation with pako's.

Thanks @puzrin for the hints :)
Merge pull request #144 from dduponchel/utf8_implementation

Update utf8 implementation
update the generated files
JSZip 2.3.0
Merge pull request #145 from dduponchel/release_v2.3.0

Release v2.3.0