regrouping all the errors in the same file.

Summary: All the logic to build an error is now in errors.ml.
The type of an error is abstract (cf errors.mli), to make sure that it stays that way.

Reviewed By: jwatzman, eletuchy

Differential Revision: D1390136
Added xdebug code coverage

Summary: So this is a large diff, I apoligize for that in advance. However, most of the
code is taken from D1220726 and most lines come from the added tests.

This diff adds the xdebug functions related to code coverage. You can
view these functions here http://xdebug.org/docs/code_coverage.
Code coverage is started with xdebug_start_code_coverage and stopped
with xdebug_stop_code_coverage. xdebug_get_code_coverage returns an
array first indexed by filename, then by line number, where the value
is the number of times that line was executed.

Depends on D1390958.

Reviewed By: @ptarjan

Differential Revision: D1392774
Reimplement WholeCFG region selector to choose regions with consistent types

Summary: This is what I have in mind for selection of arbitrary control flow regions.
The idea is to grab as much of the CFG as possible by following all arcs from
an initial translation, with the restriction that a SrcKey should appear only
once per region.

Reviewed By: @ottoni

Differential Revision: D1388356
Prevent mid-region reffiness checks in WholeCFG selector

Summary: translateRegion can't handle this so don't do it.  This solves a bunch
of the quick test failures using the whole CFG selector.

Depends on D1388356

Reviewed By: @ottoni

Differential Revision: D1391952
Fix HHVM OSS Build after D1390136 commit

Summary: Makefiles needed to be changed in parallel with Targets file and other changes in D1390136.

Reviewed By: @ptarjan

Differential Revision: D1399556