improve performance in simplexml

Summary: When casting a SimpleXML element to boolean, we're only concerned with
the object having an XML node, *or* having attributes. Building
attributes is done by sxe_get_prop_hash that also recursively builds the
entire element tree starting from that element.

We shortcircuit when the object has a valid XML node to prevent excessive
amount of object creation when all your program is doing is loading
XML strings and doing read/toBool operations.

Before: http://i.imgur.com/TFFj97u.gif
After:  http://i.imgur.com/3kNpwIM.gif
Closes #2855

Reviewed By: @scannell

Differential Revision: D1364022

Pulled By: @JoelMarcey
add missing include in gperftools build

Summary: When building with -DUSE_GOOGLE_CPU_PROFILER=1, we end up calling into
FileUtil::mkdir, but file-util.h was never included.
Closes #2853

Reviewed By: @fredemmott

Differential Revision: D1364000

Pulled By: @JoelMarcey
Stop HHBBC from assuming class constants are uncounted

Summary: HHBBC assumed class constants are always not refcounted.
However, php5.6 made it possible to make constant values able to store ref counted values.

Reviewed By: @jdelong

Differential Revision: D1360070
Travis refactoring

Summary: - Official stable version: boost 1.55.
- Simplified regexp expressions during tests.
- minor changes

Please check, thanks.
Closes #2848

Reviewed By: @ptarjan

Differential Revision: D1363601

Pulled By: @JoelMarcey
Run skipif files for repo mode tests

Summary: We were just trying to run it without building the repo at all.

While I'm in there, I'm going to make sure there wasn't anything printed on stderr while running a .skipif

Reviewed By: @fredemmott

Differential Revision: D1346226