ifdef checks around headers and template fix

Summary: 1. using _ as a prefix in a template is bad since that's reserved for implementations, in this case though it's hitting a _U define in windows headers

2. execinfo.h is not on windows (even cygwin)

3. compatibility.h will need to be added to a few places that will need wrappers hidden inside

Reviewed By: @sgolemon

Differential Revision: D1420852
Revert "Revert "Fix casting a DateTime to an array""

Summary: An FB test was incorrectly passing before this change; the change made the test correctly fail. Test has been fixed in D1453222.

Reviewed By: @bertmaher

Differential Revision: D1453287
SplFileObject: Don't seek beyond the files size

Summary: Closes https://github.com/facebook/hhvm/pull/3056

Reviewed By: @ptarjan

Differential Revision: D1435369

Pulled By: @JoelMarcey
Corrected the implementation of ReflectionMethod::invokeArgs

Summary: This diff corrects the implementation of ReflectionMethod::invokeArgs to match that of php5's.

Closes #1721

Reviewed By: @fredemmott

Differential Revision: D1278570