Javadoc updates; trailing whitespace removal
Renamin IWriter to ISink; refactoring ISource

Writer wasn't a good name to start with. This application is based on
notions similar to pipe or data flow. While IWriter was renamed its
functionality hadn't changed. On the other hand ISoruce was changed to
not inherit Iterator, since that wasn't allowing us to throw IOException
from next() method, and also now extends Closeable interface.

All the above was done mainly for one thing and that is to move
exception handling to main and not have it scattered around. Part of
this was rewrite of some error messages printed to stderr.