Remove PAM dependency code.
The libpam dependency was brought 3.5 years due to c-client.  As of today,
there's no need neither in HHVM or c-client to link against libpam.
HHVM itself does not depend on boost_regex.
Only third-party/folly depends on libboost_regex, but HHVM has a
dependency that causes a bogus linkage in the final binary.

Sync with Debian patch 09_remove_boost_regex_hhvm.patch from 2.4.1-1.
Disable bogus code for finding and linking against ncurses.
For some very old reason lost in the dawn of time, HHVM imported the
CMake file of Readline from KDE, which had an ncurses dependency. Remove it
from everywhere.

Sync with Debian patch 08_disable_libncurses.patch from 2.4.1-1.
Remove runtime/base/builtin-functions.cpp from ext_hhvm searchlist

This file no longer has IDL exports in it.
Split hphp/runtime/ext into it's own target
Output generated ext_hhvm files to CMakeFiles dirs

Stop polluting the main source dirs
Add framework for conditional/optional extensions

Each extension can now create its own config.cmake
file and optionally include itself in compilation,
typically depending on required libraries being present.

Note: Do NOT attempt to use config.cmake in extensions
using the IDL-based method.  These aren't supported
under this framework and will fail if you try.
Make imagick an optional extension

If the library isn't installed, we won't try to compile it.
Fix ext-zend-compat build
Stop using "systemlib" as the sectionname for DSO systemlibs

This simplifies embedding for bundled extensions
being built as DSOs.

Reviewed By: @fredemmott

Differential Revision: D1246821
Unify extension macros for bundled/dynamic extensions

Now bundled extensions can be built as DSO
Fix CMake files

Two issues fixed here:

1. CMake treats variables in macros and functions differently, meaning that
   the unescaped ARGV wasn't actually the arguments to the macro, instead it
   was just an undefined variable.
2. CMake has a special ARGN variable, in the same vein as ARGV. However, it
   contains all the arguments *after* the formal arguments, making the
   existing `list(REMOVE_AT ARGV 0)` pattern pointless.

Should fix #2237

cc @sgolemon
Move yum install into background

Like we already do on the ubuntu build
Remove useless directory in CMake

It no long exist anymore
Merge pull request #2247 from staabm/patch-1

Move yum install into background
Merge pull request #2250 from reeze/patch-1

Remove useless directory in CMake
Merge pull request #2246 from PocketRent/cmake-fix

Fix CMake files
Don't default to simulator on aarch64

Summary: Don't default to simulator on aarch64

Reviewed By: @sgolemon
Use the new pretty cla form
Fix OSX compilation

Summary: runtime_ext CMakeLists needs to exclude hardware counters on
!Linux platforms.

Reviewed By: @sgolemon