Type prediction clean-up.
Cache compiled pcre's in a global cache, fix some other issues

We want to spend less memory on these, so we'll put them in a
tbb::concurrent_hash_map and share across threads.  Also fixes various
memory leaks in some early-return and exception cases in various preg_
functions.  Also removes the HAVE_SETLOCALE stuff, since it wasn't
working anyway (and zend53 doesn't handle it in preg_match after
setlocale either in a quick test).
Bump required GCC version to 4.6
32bit builds are broken for the foreseeable future.

Let anyone trying to build know that so they don't get confused.
Bump libtbb version requirement to 3.0 (Interface 5005) minimum

Note that since 3.0 compatability uses the preview version of
concurrent priority queues, version 4.0 or higher is stronly
recommended.
Correctly bake in code references from require so they can be invalidated

StatCache was broken because of require setting references that
could not be destroyed
Allow CAP_SYS_NICE

We have the need to change the priority of threads, so allow
this capability.
Add support for imageantialias

This was disabled because it requires a special php version
of the gd library. But the existing gd library has similar
functionality via a different api. Since there are only
a few functions that are affected by antialiasing it was
fairly easy to intercept each of the affected routines and
do the right thing.
Have SmartAllocator bump-a-pointer on empty freelist.

When the freelist is empty, allocating from the frontier can be
done with just two pointers, but the current code must access
m_blocks, m_row, m_col, and m_colMax.  Instead, maintain just
a pair of pointers (next, limit).

This diff also cleans up the way SmartAllocatorImpl.m_stats
is set up.
Fix ini_get('memory_limit') to return -1 for unlimited.

A recent change set the default limit to INT64_MAX, which
broke scripts which tested for -1 to see if a limit had been
set. (eg they would set a 1G limit if no limit had been set).
Don't translate pseudo mains

We're not really doing it right, and currently it doesn't
seem to be a major perf thing.  Turn it off for now?
Make register_name_t a strong typedef

Using the type system to make it harder to make simple types
of errors when using our x64 assembler.
Fixes for gcc-4.7.1

Fix various issues when compiling with gcc-4.7.1
The generated 86ctor method should not be callable

The 86ctor method is only there for the benefit of FPushCtor*, it
should not be called via parent::__construct.

This removes it from the method table altogether, since we never
need to look it up dynamically; which also fixes:

  $ctor = '86ctor';
  $x->$ctor();

While I was there, I also removed 86pinit and 86sinit. For now, Im
leaving 86cinit, since it would mean increasing the size of Class
(by one pointer).

This also revealed a bug - 86ctor was not supposed to be inherited,
but it could be if the emitter "forgot" to create one when needed -
or if the user failed to create one using hhas. One of the hhas
examples violated this. I changed the base class constructor to be
__construct instead of 86ctor.
Annotate more variables as UninitNull.

I noticed that we weren't annotating the type of
an FPassL even if the variable was known to be UninitNull.

Fixing that exposed a bug in the metadata argument numbering,
and existing tests in TestCodeRun revealed another bug in type
inference, in scopes where $this is altered via a dynamic
variable ($t='this'; $$t = 'surprise').
Fix assert in SmartAllocator::alloc when sizeof(T) < sizeof(void*)

We need to enforce a minimum allocation size a) for GarbageList,
and b) for RefCountTombstoneValue.  sizeof(void*) is not actually
big enough, but we're getting lucky since no real-world size is
less than 16.
Limit TestCodeRun* to 20 jobs unless overridden.

TestCodeRunVM ends up spending >85% of CPU time in _raw_spin_lock
on the certain machines with more than 21 jobs. Cap it at 20 to be safe.
Also let HPHP_SLOW_TESTS_JOBS apply to all TestCodeRun suites.
Add gc_collect_cycles() and related builtins

Summary:
This diff adds the following builtins related to circular reference
collection:
  gc_collect_cycles()
  gc_enabled()
  gc_enable()
  gc_disable()

The current implementations for these functions just raise a warning and
return. In the near future, we can hook up these builtin functions to
HipHop's cycle collector. This will allow programs written for Zend PHP 5.3
to transparently use HipHop's cycle collector without requiring changes to
the program.
Generated files for 82e4b93
sizeof() compatability fix for gcc 4.4

GCC 4.4 doesn't recognize sizeof(Class::InstanceVar)
Declare the instance var with a typedef
and use sizeof(Class::TypeDef) instead for successful parsing.