Merge pull request #21 from greboid/master

Delete some StreamUtils.
Tidy up downloader.
Re-add listener support.
Add URL Encoding back.
Move indeterminate setting into listening stream.
Add unit test.
Generic class for functions.
Use Streams in TextFile.
Tidy up TextFile a bit.
Merge pull request #22 from greboid/tidying

Tidy downloader.
Merge pull request #23 from greboid/moretidying

Use Streams in TextFile.
Add a test for ListenerInputStream.
Merge pull request #24 from greboid/test

Add a test for ListenerInputStream.
Fix some raw types.