Streaming of data files now using the correct function rather than util.pump which is being removed from the lang.
Tidied up the main file to make minimal calls.
Added dedicated error object.