Convert reference keyword to pcre_copy_substring
Convert classtype keyword to pcre_copy_substring
Don't use strdup in ip-only address parsing
Don't malloc temp var in SCRuleVarsGetConfVar
Don't alloc for hash lookup in SCClassConfGetClasstype
Reduce allocs in boyer moore prepare phase
Removed unused function MpmMatcherGetMaxPatternLength.
Code cleanup.

Use the MpmAddPattern[CS|CI] wrapper to add patterns to the mpm context.

Also use MpmInitCtx() to init the mpm context.
Restructured flow_proto mapping enums.

Moved FLOW_PROTO_DEFAULT down the enum list.
Updated the ftp response handler to return without doing anything.

Currently the processing happening inside the handler is not being used
anywhere else in the engine.
FTP parser updated to not use the archaic App layer feature of AppLayerParserResultElmt.

The parser otherwise remains pretty much the same.
tls: allow matching for @ symbol in tls.subject

Also in tls.issuerdn keyword.

Original patch by Chris Wakelin.

Fixes #1042.
Cleanup ConfSet, ConfGet, make more concise.

Removes ifdef's for readability by using strchr instead
of strtok.
More concise API for setting config values that
can be overrided or not (final values).
Function to prune all non-final nodes from a configuration node.
Subsequent configuration keys now override previous ones
instead of merging.

The exception is final values, for example, values like
default-log-dir that may be set on the command line.
Better document ConfSet and ConfSetFinal.
Instead of exiting on memory failure, log a warning then return NULL
to signify an error to the caller.
Fix Conf api usage after rebase
Adds a defrag configuration example in suricata.yaml