Post read stream optimizations

Changed the way value or read streams are set up in promises. Due to the
nature of promises, having any work done in the initial promise may be
done twice. It's best to have the initial promise only gather entries
and pass it on to the next then function. The subsequent then function
should have all logic from that point on.