Various fixes.

Fixed the on activation bug.

Fixed the if you added to the framework after activation bug.

Created a SMOF_init variable to ensure the data is set on init of SMOF.

Fixed some saving methods so the DB is only pinged if a value changed.

Added a bunch of hooks to allow for external modification of functions
utilizing the method as Wordpress. do_action('xxxx_before'),
do_action('xxxx_after')