Rework config.h and head_hvm.S for better paging separation
config.h is modified to turn CONFIG_ENV_$foo into the finer grain
CONFIG_{PV,HVM}, CONFIG_PAGING_LEVELS and possibly CONFIG_PAGING_PAE. It then
undefines the CONFIG_ENV_$foo #define, to prevent mistakes in regular code.
Generation of environment_description is also moved into config.h, and it is
extended to include paging information.
head_hvm.S is then modified to use the finer grain #defines. Specifically,
CR4.PAE is only set if CONFIG_PAGING_PAE, and CR3 and CR0.PG are only set if
CONFIG_PAGING_LEVELS is greater than 0.
The existing setting of CR0.PE is removed, as it is guaranteed always to be
set.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>