Clean up the hphp/system folder

I noticed that directorty structure of hphp/system was a bit scattered, so
I consolidated things to reduce the total number of folders and to put
related things together with each other.

This diff moves the contents of "hphp/system/classes_hhvm" into
"hphp/system", it moves the contents of "hphp/system/lib" into
"hphp/system", moves "hphp/idl" to "hphp/system/idl", and moves the
contents of "hphp/system/globals" into "hphp/system/idl".
Adds word-size store instructions to x64 assembler

Formerly, trying to emit a 16-bit instruction, such as
with test_imm16_disp_reg64(...) would actually emit a testl
instead of a testw. This would emit an 8-byte instruction
(ex. 41 f7 45 0e 01 01 00 00) and possibly be testing the wrong
thing. Now, when you emit a word-size instruction, it will prefix
with 66 and use the correct operand size, saving us a byte
(ex. 66 41 f7 45 0e 01 01).

I also converted the instruction emission in ContPreNext to
use the new style assembly emission.
use a flag instead of isdigit

Instead of doing name-based checks, using a flag in the runtime seems better. I tried to have a flag on the FuncEmitter that was set when you made these weird functions, but there was a few situations that needed to do name-based checks

* .hhas files have no control over anything but the name
* the parser would have to pass the info through the AST to the emitter

Instead I opted for the simpler approach for now until we want to solve those.
Revert "Added AssertThis opcode and modified translator to emit it"
try strtod instead of zend version

why is there a zend version and a c version? we mix and match in `is_numeric_string`. I'm worried this is giving me a problem in the filtering of floats.
fix what I broke with the double diff

I committed the wrong version.
add JSON_UNESCAPED_UNICODE

This is giving warnings on wikimedia and was implemented in 5.4
Revert double thing

Some tests are failing now that didn't fail in contbuild. Revert until I can look at it.
make debug_backtrace 5.4 compatible

This was spewing on mediawiki and we need to update. It is backwards compat.

I tried to put the constants in PHP but failed. I spent 30 mins on it. I'll come back to it next time I get the itch.

Closes #812
Inline simple printers (easier inline testing)

- Inlines simple constant print functions (makes it easier to test
inlining side effects in a simple manner)
- This also confirms that FPushObjMethodD inlining is working as expected
Adds decl and decw instructions that operate on registers

There was a confusing comment left in the assembler
that said that we can't encode a decl r32 instruction, because
the opcode is the same as a REX byte. This is untrue in our
assembler, because we use the FF /1 encoding, rather than the
48 one (which is a REX byte and would be a problem).

Some tests were added to show that this is fine.
Avoid allocations for empty maps

Empty FixedStringMaps would do a malloc of at least 9 bytes,
and IndexedStringMap would do a 1 byte malloc, and a malloc of at least 9
bytes.

We have a lot of typically empty maps in our data structures.
update mysql to a saner default

Most normal PHP programs will use mysql as an actual database, instead of the key/value store we use ours for.

It is hard to get a definitive answer on what the PHP default is, but I think it is 1 minute since it follows `default_socket_timeout` which is 60 seconds.
Remove rematerialization code

- Remove rematerialization since it doesn't buy us much and we've had issues with it
Throw an exception when an unknown flag is specified

Because if we don't know, we can't fix it!