Block main on chunk read rather than looping reading from client stream. Simplify synchronization. Add JavaDocs.
print message to server log on client disconnection
Use FixedThreadPool instead of CachedThreadPool for NGStream reader threads, name threads and notify threads blocked in waitForChunk on disconnection.
Merge pull request #16 from jimpurbrick/master

Use fixed size thread pool in NGInputStream, fix race condition and simplify synchronization.