CRM-15297 extra code ONLY affecting d8 classes

@totten @torrance this is a port of Torrance's classes from GSOC in his 'core'  folder
https://github.com/torrance/civicrm-drupal/tree/master/core

I have put the d8 modified functions into the d8 class & all the others into the DrupalBase classes (I did take a look & they all appeared to be in d6 & d7 too so should not impact on them). Functions added to Base classes are the only risks here - and only if I have made a mistake when I determined the functions are already in the d6 / d7 classes

Relevant functions:
pemission::checkGroupRole($array)
permission::isModulePermissionSupported();
permission::permissionEmails($permissionName);
permission::upgradePermissions($permissions)


System
 function flush() {
 function getModules() {
 function replacePermission($oldPerm, $newPerms) {
 function languageNegotiationURL($url, $addLanguagePart = TRUE, $removeLanguagePart = FALSE) {
 function getVersion() {
 function updateCategories() {
 function getDefaultBlockLocation() {
 function getUFLocale() {
 function userLoginFinalize($params = array()){
 function postURL($action) 

Since T copied d7 I just re-checked against Drupal6 & the only one that doesn't seem to match Drupal6 is getDefaultBlockLocation - - which I just moved up to d8

ALSO - Torrance added an install class- we should stick this in core - is the location in Torrance's repo correct?

https://github.com/torrance/civicrm-drupal/tree/master/core/install

I guess that is an install accessible location??