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
Fix alignment in usage.
decode: fix failure in layered tunnel

If we have multiple layer of tunnel, the decoding of initial
Packet will recurse in DecodeTunnel function called in
PacketTunnelPktSetup. If we are not setting the pseudo
packet root before calling DecodeTunnel (as done in previous
code), then the tunnel root will no be correct for the lower
layer packets. This result in an counter problem and a suricata
failure after some time.
luajit: pass calling rule's sid,gid,rev to script as SCRuleSid, SCRuleGid, SCRuleRev.
lua: clear stack after each script run
lua: push correct length back through ScFlowvarGet, work around valgrind warning
htp: randomization of htp inspection sizes

This is an implementation of #940. It randomize libhtp request
and response size if the same way this has been done for stream
inspection.
htp: display info about randomization

When randomizatin is used display a message about actual values.
When setting final configuration nodes, set the whole tree as final.

Prevents benign log message of parent nodes of final values being
redefined (which ends up having no affect as the final nodes
are protected from being removed).
Use the stack for temporary memory buffers.