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
Merge pull request #581 from EricRahm/fs_stat_fixes

Cache file stats to avoid IDB lookups (rev2)