Refactor
Review batch
Add test with iterators
Add support for iterators data
Avoid using random access when possible
Remove all random access to batch
Use make_unique from stdlib (G++ 4.9.1)
Cleanup
Continue adding support for iterators
Remove note