Add @hook/extend. Change hooks internally to be pointers to structs, instead of always allocating the structs even if there's no hook set.

git-svn-id: https://pennmush.googlecode.com/svn/trunk@1807 ba372814-4f39-11de-9ad6-1127a62b9fcd