[wip] app-layer: proto detection update v2

This PR builds on https://github.com/inliniac/suricata/pull/909

It's a bit of a messy affair, this move from the older 'toserver and 'toclient' approach to the sp/dp approach. We still need to track the progress in the 2 directions, but other than that the notion of direction doesn't make all that much sense. This PR cleans things up somewhat.

It also addresses #1162. It now considers probing parsers registered for both sp and dp if a flow happens to trigger both at the same time.

Bug #1142. https://redmine.openinfosecfoundation.org/issues/1142
Bug #1162. https://redmine.openinfosecfoundation.org/issues/1162

Prscript:
- PR build: https://buildbot.suricata-ids.org/builders/inliniac/builds/251
- PR pcaps: https://buildbot.suricata-ids.org/builders/inliniac-pcap/builds/170

TODO: fix some warnings/fails in my own QA setup

cc: @poona