Improve lookahead-threads auto selection
Smarter decision to improve fast-first-pass performance in 2-pass encodes.
Dramatically improves CPU utilization on multi-core systems.

Tested on a quad-core Ivy Bridge (12 threads, 1080p):
Fast first pass:
veryfast:     ~7% faster
faster:      ~11% faster
fast/medium: ~15% faster
slow/slower: ~42% faster
veryslow:    ~55% faster
CRF/1-pass:
veryfast:     ~9% faster
(all others remained the same)
64-bit cabac optimizations

WIN64:
~3% faster and 16 byte shorter cabac_encode_bypass
~8% faster cabac_encode_terminal
~4% faster PIC
Benchmarked on Ivy Bridge

UNIX64:
One instruction less in cabac_encode_bypass
x264.h: improve x264_encoder_reconfig documentation
x86inc: rename program_name to private_prefix
Synced from libav.
The new name is more descriptive and will allow defining a separate public
prefix for externally visible library symbols.
x86inc: Add cvisible macro for C functions with public prefix

This allows defining externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
x86inc: Set ELF hidden visibility for global constants
Windows: Enable DEP and ASLR
x86: ~15% faster predictor checking with subme<3
Branchlessly handle elimination of candidates in MMX roundclip asm.
Fix two bugs in predictor checking
pmv wasn't checked properly in some cases, as well as zero vector.
Output-changing portion of the following patch.
Optimize and organize subme>=3 predictor checking
Also clean up and slightly optimize the subme<3 predictor checking to match.
Add lots of explanatory comments and try to make things a little more understandable.