Added caching code for reading PGbascimacros and PGanswermacros as well
as PG.pl, dangerousMacros and IO.pl into a cached safe compartment and
sharing the subroutines with the current safe compartment
It speeds up each problem significantly (about .2 seconds on webwork3).
Changes are required in PGbasicmacros and PGanswermacros to fix
assumptions that are not met when a file is compiled and run in
different name spaces.
The caching code is turned off by default. It must be turned on by
by changing commenting in lines 133 to 147 in WeBWorK::PG:Local.pm