Fix CMakeLists.txt
Use callback instead of temporarily storing a list of files
Use fopen instead of overkillish C++ I/O
Fix two memory leaks.
A somewhat-zero-copy-parser

(About twice as fast, only starts copying stuff around if the
data is going to be used.)