add handy .epochs method on DataSet + minor refactoring
add incomplete epoch handling to DataSet.epochs
tiny tiny doc update