merge blockcopy.inc into blockcopy-sse3.cpp and -avx2.cpp

This is the first step towards four goals:

1 - reduce compile time, no more redundant primitive compiles
2 - reduce redirections / templating of intrinsic primitives
3 - move away from vector class library's INSTRSET CPU level define
4 - make the test bench faster, only validate each primitive once
blockcopy: fix INSTRSET define for SSE3
split dct.inc into sse3, sse41, ssse3 CPP files
split intrapred.inc into sse3 and sse41 CPP files
split ipfilter.inc into ssse3 and sse41 CPP files
remove ssse3 and avx pixel files, which makes avx.cpp redundant
inline utils.h into the last place it is included
combine per-architecture files into vec-primitives.cpp
motion: fix shadow warnings
intra: remove unused extern
vec: prevent unreferenced parameter warnings for 16bpp builds
ipfilter: don't use 8bpp primitives for 16bpp builds