--added webtest for CRM-12018 and did some code cleanup
fix CRM-12043
fix CRM-12051
fix CRM-12052
fix up optiongroup & type in settings for a couple of settings
don't preset irrelevant params when doing a create - can cause unexpected results
extra fields to ignore from API, NB I can't recall why I made this a hard fail rather than a soft ignore
standardise naming of _spec functions & add support for 'id' as pseudonym of domain_id
More php 5.4 notice fixes and errors
More php 5.4 notice fixes and errors
CRM-11925 - Remove DrupalBase::getAllModulePermissions() because:

1. We only need to support hook_permissions for Civi ext-modules, so we don't need a special way to invoke that hook in Drupal.
2. The parent class implements the function in a simpler/more portable way.
CRM-11925 - CRM_Utils_Hook - Remove moduleImplements.

The Drupal implementation is good, but we don't need the functionality, and
it's a bit of a liability because the design isn't portable to Joomla.
Keeping it might encourage others to write unportable hook code.

However, if we find that we do need the functionality, then we should use
this code as a starting point.  (Aside: For a non-Drupal example, the
WordPress implementation is better than the Joomla implementation.  The WP
version looks like it would still work with Civi ext-modules.)
CRM-11925 - Extract Drupal::filterPermissions from Drupal::getModulePermissions

Permission-enumeration is only being used with Civi ext-modules, so the
hook-invocation can be done in another (more portable) spot. However,
the string-length-limit appears to be specific to D7's permission-store,
so it'll need to stay in this class (as "filterPermissions").
CRM-11925 - Call Drupal::filterPermissions when writing to permission-store (rather than during permission-enumeration)
CRM-11925 - Loosen coupling between permission enumeration (getModulePermissions) and storage (upgradePermissions)
CRM-11925 - Only run cleanupPermissions/uninstallPermissions if our CMS driver supports it
CRM-11925 - Allow permission-enumeration on all platforms. (This facilitates error-reporting when a module is installed on an incompatible CMS.)
drupal_add_js isn't working - disabling seems the easiest fix
CRM-11925 - Remove filterPermissions.

The filtering presents an imperfect facade (see JIRA)
Doc tweak