Feature/860 too many batch jobs

@davidhabib, would you please verify I have implemented everything we discussed yesterday:

- New schedulable (UTIL_MasterSchedulable) and interface (UTIL_MasterSchedulableHelper.UTIL_IRecurring)

- Stop using the old schedulable (UTIL_GlobalSchedulable) and interface (UTIL_IScheduled) and revert them back to their original form

- The only thing then new schedulable does is calling a class (UTIL_MasterSchedulableHelper) dynamically. This class does the actual work

- The new interface is NOT global(as we don't expect users to implement it)

- Post install script deletes any entries in the Schedulable__c table before populating it
(in case the user had the old classes in it). This means that every time the user visits
the settings page the table will be cleaned up and re-populated. Is this reasonable?

- The post install script will also abort the schedulables from the old NPSP packages.

- The uninstall script will abort any schedule job named as the old schedulable or the new ones.

The constructor in the helper class calls the method that does the actual work (runRecurringJobs).