app-layer: proto detection update v3

This PR builds on #909, #919

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/252
- PR pcaps: https://buildbot.suricata-ids.org/builders/inliniac-pcap/builds/171

cc: @poona