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