Extended Agent with a function `extend`, for easy loading of modules. Moved pattern listening functionality into a separate module
Implemented module `request`
Fixed modules replacing the Agent.receive function (they now use Agent._receive)
Created an option stopPropagation for the pattern module
Implemented ability to load multiple modules at once from an array. Fixed pattern loading order
Neatly handling errors in requests