configurable app parsers + pp updated + app proto detection + app event engine updated and fixed(including dns event fix)

contains unittest for #640 as well, although it will always pass now since we don't use the flags variable to detect events.

We will use the flags event, once Ivan moves to setting events for every error log message. At the same time we can introduce per tx events

Also contains the app-layer-protocol keyword.