CRM-14990: Round two.

Follow-up to #3669. Adds pre- hook and doesn't always overwrite is_reserved. FYI: @eileenmcnaughton, @davecivicrm.

I don't think we need to update `_civicrm_api3_custom_group_create_spec` since we aren't providing/forcing a default; if no value is provided the database default of 0 wins.