Support comments in training files

Empty lines and comment lines (lines starting with '//') are now
supported after the header in training specification files.
Minor StreamEnumeration improvements

Throw a NoSuchElementException when trying to move beyond the end of a
stream.