Spot take5 test classes and materials added

Spot take5 test classes and additional materials added
Added NITF jars and dll inside module
Replaced moving ProductData byte[] with more generic stream writing/reading (since ProductData may have a different underlying type)
Replaced usage of "standard" Java ByteArrayOutputStream with custom implementation, because the former returns a copy of the internal byte buffer, which means additional memory allocation. Since this operation is performed intensively (used in readBandRasterData method), we don't need extra allocations.
added test method for ConfigurePreferredTileSize
Replaced usage of "standard" Java ByteArrayOutputStream with custom implementation, because the former returns a copy of the internal byte buffer, which means additional memory allocation. Since this operation is performed intensively (used in readBandRasterData method), we don't need extra allocations.
Merge remote-tracking branch 'origin/spot5' into spot5
Test additional file

Additional files added for testing purposes
Overwrite method GetProductComponents and test file

Overwrite method GetProductComponents and test file for
SpotDimapProductReader
Merge branch 'spot5' of https://github.com/CS-SI/s2tbx into spot5
Added statistics from metadata, if present. Added comments to BandMatrix