Split Core.php into Constants.php and Core.php and adjust main.php startup

The recent flush filter fix had a problem that you couldnt set a custom
BASE_PATH in _ss_environment because that file didnt get included until
after checking the confirmation token. This patch pulls the part of Core.php
that defines BASE_PATH into a seperate file that can be included earlier
in the startup sequence so that ParameterConfirmationToken can access it.

Core.php includes Constants.php with a require_once call, so for startup
scripts that dont pull in Constants.php themselves (like cli-script.php)
no change is needed.
FIX Only suppress fatal errors
Merge pull request #2255 from hafriedlander/fix/flush_30

Split Core.php into Constants.php and Core.php and adjust main.php startup
FIX Nice errors and allows flush on module removal
Merge pull request #2257 from hafriedlander/fix/flush_30

FIX Nice errors and allows flush on module removal
Merge branch 'origin/3.0' into 3.1