UV: proper EOF handling/delivering

Applications should be delivered an EOF via passing '0' as a parameter
to the read callback, rather than -1 (which indicates an error). A
graceful close is necessary in some protocols to help promptly deliver
ifnormation.

Change-Id: Ic981505d6d06d8caf5ba07c06e9ef972f51cdf2e
Reviewed-on: http://review.couchbase.org/37334
Tested-by: Mark Nunberg <mnunberg@haskalah.org>
Reviewed-by: Brett Lawson <brett19@gmail.com>