Model separate project calls as seaprate list items in train

For non-leaf transforms, add a separate train method that takes
QList<TemplateList> as arguments, where the separate list items correspond to
the separate calls to project that would be made by parent transforms during
enrollment. This is basically to deal with the effects of distribute on
untrainable meta transforms such as flatten, we have to maintain a consistent
grouping with project, otherwise the intermediate projection results used
during training won't be consistent with what they would be during enrollment.
Some additional comments about train/project overloads
Merge branch 'plotSingleRocPoint' of https://github.com/biometrics/openbr
Merge branch 'master' of https://github.com/biometrics/openbr
Merge branch 'master' of https://github.com/biometrics/openbr
Train and test ground truth files (.FDDB) and image lists (.txt) for FDDB
Contract on an empty src should not yield a dst with one element
Make AggregateFrames operate over TemplateLists (downstream independent Transforms were receiving empty Templates)
No need to check for empty in CatCols
Finalize HOGHOF abbrev
Merge branch 'master' of github.com:biometrics/openbr
Adding extension to FDDB format (makes no sense to implement protocols lack of extensions
Merge branch 'master' of https://github.com/biometrics/openbr
Changed leaveOneOut to leaveOneImageOut
Remember to save both files plz
Merge branch 'master' of https://github.com/biometrics/openbr into training_structure
A few more comments about Crossvalidate
Add a preliminary version of Stream::train

This should be correct, but is fairly inefficient. Further work could be done
if anyone is actually interested in using it.
Update stream::train

This needs to be a little more complicated. Retain the project pattern done by
Streams during partial projects by using a timeVarying transform to collect the
output template sets (grouped as they are at the end of the partial stream).
..and be sure to clear data we have already added