Use "close" event to indicate fully uploaded data

Hello @tylerneylon, 

Please review the following commits I made in branch 'es-close-event'.

0957f29734a24fd8e005181f89c1aafdb28206b8 (2013-11-18 16:46:07 -0800)
Add changelog for close event + race condition fix

ed96b463c5e0f4a6a5c075039594bab6e3cd8108 (2013-11-18 16:31:21 -0800)
Update tests and readme with "close" event

2d147a8aa8ec28413167c6bada0e0b3b9bef758c (2013-11-18 16:29:10 -0800)
Use "close" event to indicate finished comsumption
Fixes a race condition with active uploads and end being called. Also remvoes the complexity of having to subclass end().

Relevant:

* https://github.com/joyent/node/issues/5315
* https://github.com/joyent/node/issues/5336
* https://groups.google.com/forum/#!searchin/nodejs/_write/nodejs/ydWIyPrDVB4/Rt4EZk0YNgcJ

R=@tylerneylon