CRM-13619 - tab display based on configurations and hook

Includes:

1. Toggle event tabs' status appropriately based on configuration status - both on event update and listing page.

2. Allows hook implementation to decide/set the property of injected tab.

3. A new hook call to make configuration popup on events listing page, to render tab correctly (with valid status), especially for tabs injected via hooks.

4. Volunteer / injected tab has been fixed with PR https://github.com/civicrm/civivolunteer/pull/151.