weightp: use struct to cache data for reuse, refactor MC of reference planes

* do not consider intra/mv cost during MC phase
* unconditionally motion-compensate luma and chroma blocks
* include slice header cost estimate in weight analysis
* weightCost() needed different paths for luma, chroma, and chroma444
* pass a single stride to weightCost()
asm: split SAO_EO_0 into separate primitive func

added assembly code and testbench support
added loopfilter.cpp, loopfilter.h, loopfilter.asm files
weightp: implicit cast warning on vc10-x86.

Is lambda intended to be int?
copy m_origYuv[depth] from m_origYuv[0]

--HG--
extra : rebase_source : 2636a7090c6201ce84f1debdd84487e91843ad05
cli: replace --cpuid with --[no-]asm arguments

The vector class library is long gone, so it is past-due to adopt x264's
logic for specifying CPU architectures, or disabling ASM altogether.

--HG--
extra : rebase_source : 4ef41595927d95e6ba9e752cfbe1e68ccb845ce3
param: fix handling of --no-scenecut within x265_param_parse(), add --no-b-adapt

--HG--
extra : rebase_source : 998ba0b2c050dd7755a34eda4245dce476f6f459
primitves: update CPU name print logic from x264

--HG--
extra : rebase_source : 2edc68469b130796b4908d0cde59d105f4a4cfdc
testbench: improve CLI help and error handling, use parseCpuName

--HG--
extra : rebase_source : 4745deb2851d3b600ff2909f4564a01d476c940a
api: add a fastdecode tune option, improve tune and preset CLI help

To match x264's tune names, removed "-" from zerolatency in x265.h but allowed
either string to match internally.  Same with fast-decode.

--HG--
extra : rebase_source : 0e224dcd086ceccdd8e351c3d4e8769b3e95992b
param: MSVC build fixes

--HG--
extra : amend_source : 5042891eb6989c5cf5eb6f1f9501866a3f4f1f56
testbench: use CHECKED_MALLOC to cleanup init functions
used checked malloc in TComYuv and TEncSearch, cleanly catch malloc failure
TComYuv: switch from Pel to pixel type
TComPattern: remove hungarian prefixes
param: ignore assignments within conditionals in param.cpp
rename TShortYUV.* to shortyuv.*

--HG--
rename : source/common/TShortYUV.cpp => source/common/shortyuv.cpp
rename : source/common/TShortYUV.h => source/common/shortyuv.h
extra : amend_source : 0aa902992166411998084e1b272db40554da0d4f
use checked malloc in TShortYuv::create and TEncCu::create

And replace unsigned int with uint32_t in TShortYuv.cpp
rename TShortYuv to ShortYuv
shortyuv: combine add/subtract methods together
shortyuv: use optimized primitives where available