Homestyx hydra

R1:309960146344

Split setup check phases into "preflight" and "post-config"

Summary:
Ref T11589. This runs:

- preflight checks (critical checks: PHP version stuff, extensions);
- configuration;
- normal checks.

The PHP checks are split into critical ("bad version") and noncritical ("sub-optimal config").

I tidied up the extension checks slightly, we realistically depend on `cURL` nowadays.

Test Plan:
- Faked a preflight failure.
- Hit preflight check.
- Got expected error screen.
- Loaded normal pages.
Repository: R1 hydra
Commit Date: Sep 6 2016