Change TextDataSourceFormat to not be a macro anymore

Also add TextFile() convenience wrapper for
DataSource(.., TextDataSourceFormat())
Add a proper functional reduce operator

Looks better in the WordCount example too :D