Improved math test coverage, fixed two bugs

Improved math test coverage, fixed two bugs

./src/math now has 100% test coverage, which resulted in the discovery of two
pretty significant bugs (the /= operator in Sizef and Pointf).

Also added LCOV_EXCL_LINE comments to all asserts, as these
cannot be tested, and should be omitted from lcov report.

    src/math/Averager.h
    src/math/MathUtil.cpp
    src/math/Point.cpp
    src/math/Pointf.cpp
    src/math/Random.h
    src/math/Size.cpp
    src/math/Sizef.cpp
    src/math/TestMathUtil.h
    src/math/TestPoint.h
    src/math/TestPointf.h
    src/math/TestRectf.h
    src/math/TestSize.h
    src/math/TestSizef.h
Added option to ./gencoverage.sh to skip compilation

Added option to ./gencoverage.sh to skip compilation
This is useful when only the tests are being modified.
It is then not necessary to recompile the whole project from scratch.
Usage: `./gencoverage.sh --update`

    gencoverage.sh
Improved src/util test coverage

Improved src/util test coverage
Simplified behavior of File class.

    src/graphics/ShaderProgram.cpp
    src/util/Asset.h
    src/util/BashColor.cpp
    src/util/BashColor.h
    src/util/CharMap.h
    src/util/File.cpp
    src/util/File.h
    src/util/LogUtil.cpp
    src/util/LogUtil.h
    src/util/TestAsset.h
    src/util/TestBashColor.h (+)
    src/util/TestCharMap.h
    src/util/TestFile.h
    src/util/TestFileUtil.h
    src/util/TestSDL.h       (+)
    src/util/TestTimer.h
    src/util/assert.h        (+)