Replaced existing manually defined hooks by using the define-hook mechanism
Moved the whole `with-policy' code from cram_plan_library to cram_language
Added support for documentation strings given right before actual body code

`with-policy' now supports being defined with an optional documentation string, just as in `defun' and friends. So defining a policy would now look like this:

(define-policy my-policy (max-num match-num)
  "This is an example policy."
  (:init (format t "Initializing policy~%")
         t)
 ...)

At the same time, got rid of the `:description' keyword in the properties list (which served as entry point for policy documentation before).
Exported symbols for using multiple policies at once
Define variables for new policies in the package they are being defined in

`(define-policy ...)' now implicitly calls a `(defvar ...)' and `(setf ...)' in order to make the object instance directly accessible by its name in the package it was defined in (besides pushing it onto the global *policies* list to refer to it by its name via `(with-named-policy ...)').
Merge pull request #10 from fairlight1337/master

Moved `with-policy` from cram_plan_library into cram_language; also made hook look nicer