First version of 4x4 forward DCT
Fixed incorrect shift values for inverse transforms in generic strategy
Added tests for DCT/IDCT
Added AVX2 optimized transforms for 4x4 and 8x8 blocks
Added part of the functions 16x16 DCT needs
Added 16x16 transpose
Added 16x16 DCT and IDCT for AVX2
Added 32x32 transpose
Added 32x32 DCT for AVX2
Added 32x32 IDCT
Added transposed DCT/DST tables. Use them while calculating transforms instead of doing runtime transpose. Added separate functions for DST and IDST.
Moved DCT / DST matrices to dct-generic.c
Transform functions in dct-avx2.c are now generated with macros.
Merge branch 'dct-optimizations'

Conflicts:
	src/strategies/avx2/dct-avx2.c
	src/strategies/generic/dct-generic.c
Fix problems with unit tests.

- Cast function pointers to correct function signatures.
- Increase number of buffers on SATD tests so the initialization doesn't
  overflow them and initialize the unused buffers to null.
Enable asm optimizations for VS.
Clean up avx2 dct macros.
Unify signature for transform functions.

- Some used block, coeff and some src, dst. Now all signatures are const input
  and non-const output.
Removed unused transpose functions.
Misc code cleanup