Rewrite the way user hooks are loaded.

User hooks are will be loaded along with builtin hooks so that user hooks can be loaded before built-in hooks.
Moduleloader is always loaded first, if enabled. Removes `userhooks` hook.