Cache file stats to avoid IDB lookups

- Adds |fs.fileStats| that maps paths to their file stat object
- Adds |size| to the file stat object so that |fs.size| can use the cache

Conflicts:
	libs/fs.js
Fix unit test stat caching unit test failures

- fs.close is async, use it's callback
- update assumptions on unflushed files
- fix fs.ftruncate impl
Add trailing semicolon
Move javaUTF8Decode function to util.js
Nativize DataInputStream::readUTF. Fixes #368
Use setZeroTimeout instead of setTimeout(..., 0) in libs/fs.js. Fixes #442
Load timer.js in fstests.html
Merge pull request #581 from EricRahm/fs_stat_fixes

Cache file stats to avoid IDB lookups (rev2)
specify bootclasspath and extdirs
Merge pull request #585 from mykmelez/specify-bootclasspath-extdirs

specify -bootclasspath and -extdirs when compiling Java classes
Remove DataInput from custom/
Merge branch 'master' of https://github.com/andreasgal/j2me.js into datainputstream_readutf
Merge pull request #583 from marco-c/datainputstream_readutf

Implement DataInputStream::readUTF in JS
Merge pull request #584 from marco-c/setZeroTimeout_when_possible

Use setZeroTimeout when possible