Make hooks customisable

You can add/remove custom hooks as necessary via the
Boxen::Hook.register and .unregister class methods.
Avoid circular require dependency
Merge pull request #144 from boxen/customisable-hooks

Make hooks customisable