Add a rudimentary hooks system to lineman. 

For now this allows users to intercept behavior as each
npm module with tasks is loaded (for handling name
conflicts, among whatever other duck-punching they
want to do)