Initial commit of ChopShop/ChopLib 4.0 changes

Includes new shop modules ChopGrammar and ChopProtocol
Modification of ChopLib to support 4.0 features

Also fixes a bug in modinfo output which apparently noone noticed
Modified chopshop main program to support new modtree option
Intermediary commit of ChopNids with 4.0 features. Note that this WILL change and should not be used to test against or as a reference for implementation
Reduced duplicate code, changed how the stream_meta for non-core protocols is handled
Initial commit of http module. Takes in tcp, outputs 'http' messages
Legacy check before deletion of children elements
Fixed presentation of mod info
Updated some code to handle legacy modules better
Also fixed lookup key for secondary modules
Finally remove print support from module_info
Updated docs to reflect 4.0 changes
Documentation updates (minor)
Updates to how ChopProtocol is handled/organized
Update to README
Minor typo in module authoring docs.
Port dns_extractor to chopshop4.

Add a new module called "dns" that generates the ChopProtocol object, and
convert dns_extractor to use it.
Chase handleData -> handleProtocol.
Updated module_authoring document
Merge branch 'chopshop4' of https://github.com/MITRECND/chopshop into chopshop4
Fixed bug in shutdown procedure calling the wrong module's shutdown