CRM-19303 - Drupal - Fix various path computations for multisite
A few changes:
* Move logic out of `CRM_Utils_System_Base` to `CRM_Utils_System_DrupalBase`
so that it's easier to read.
* Update `[civicrm.files]`: First, try to use `sites/{$name}/files/civicrm`.
Otherwise, use `sites/default/files/civicrm`.
* Note: The `$name` is parsed/validated the same way as `civicrm.config.php`.
It takes the full HTTP_HOST and then tries various substrings.
* Update `[civicrm.root]`: Compare `$civicrm_root` and `cmsRootPath()`
to determine the relative path. Then, combine `CIVICRM_UF_BASEURL` with
relpath. (This is the same as WordPress.)