Refactored HookKey: renamed Operation to TypeOfHook (since we must distinguish between type and configuration).
Factored out hook type constants into new class HookType, as part of separating type of hooks and their configuration (as they are separated by the kernel).
Added new class HookConfiguration and moved relevant functionality and definitions there, to distinguish between configuration and type of hooks, as done by the kernel.
Minor refactoring and improving of comments in HookKey to reflect recent changes.
Added new method HookType.ToHookConfiguration to be able to translate a type to a configuration.
Added method GetConfiguration to HookConfiguration, allowing the full configuration mask for a certain type to be calculated (as needed when registering hooks with the kernel).
Adapted Hook.InstallHook to recent changes in HookConfiguration.