Reduce compilation time of hphp/runtime/vm/native.cpp from 300+ seconds to 32 seconds.

hphp/runtime/vm/native.cpp generates a combinatorial number of template instantiations (proportional to 4 to the power of maximum arguments allowed), which makes it extremely slow to compile - over 350 seconds on my machine. This change forces all types to a binary-compatible uint64_t, thus keeping the calls well formed binarily (wee, new word) whilst drastically reducing the number of instantiations involved.

Reviewed By: @jdelong

Differential Revision: D979860
parity: add the boolval builtin

Added in PHP5.5, this builtin is going to be useful as a
 default argument for functions that expect a predicate callable.
 It's better to implement it than force the user to create yet another
 instance of `function ($var) { return (bool) $var; }`

Reviewed By: @markw65

Differential Revision: D980164
emit casting bytecodes for "<type>val()" funcs

... because the results are equivalent.

Reviewed By: @markw65

Differential Revision: D980174
change double-colon to be T_DOUBLE_COLON in the lexer

"Syntax error: unexpected T_PAAMAYIM_NEKUDOTAYIM" is a WTF
 rite-of-passage for every PHP noob. Unlike Zend, we don't have
 history to be beholden to, so HH syntax errors ought to be able to
 complain about T_DOUBLE_COLON. For compatibility with any parsers
 built on Zend, continue returning T_PAAMAYIM_NEKUDOTAYIM in
 'token_name' results

Reviewed By: @jdelong

Differential Revision: D980141
fixup newext to handle classes

still needs some love, but it pulls in classes now

Reviewed By: @paroski

Differential Revision: D976054
Auto-detect new cache format

Notice new cache format on read

Reviewed By: bmaurer

Differential Revision: D980474
add some namespace to macros

I'm using these macros outside the HPHP namespace

Reviewed By: @paroski

Differential Revision: D976050
pass 'this' to extension functions

with classes, this needs to be passed down as a variable since many extensions just hard-code `this_ptr`.

Reviewed By: @paroski

Differential Revision: D976055
Add vim temp files to .gitignore
Implement PGSQL extension
Change typedef static assertion to C++11 static_assert
Allow postgres to be an optional dependency
Fix ISO C++ errors (I hope)
Move registerConstant to moduleInit so it works in RepoAuthorative mode