Fixed stale file handles and added data hooks

* Stale file handles:
** Stale handles were left on opportunistic error forwarding. This resulted in
   discard() only removing the file table entries instead of actually deleting
   the files for as long as the node application remained running.
** The above problem was observed when uploading to a tmpfs. Memory would remain
   locked up for every discarded file that was truncated due to limits. This
   resulted in high memory pressure and the OOM killing node.
* Data hooks:
** To help alleviate memory pressure when uploading to a tmpfs, I added newData
   and endData progress hooks. These are quite generic, but it allowed me to
   occasionally trigger garbage-collection (see node --expose_gc) to reduce
   memory pressure while uploading to tmpfs.

These changes provided sufficient to keep a resource-constrained embedded node
application out of OOM valley.
Bump version
Merge branch 'release/0.0.5'
Merge tag 'v0.0.5' into develop

Release v0.0.5