Add sub protocol behaviour

This adds a behaviour for sub protocols. I understand the doc may not be adequate in its current form. Should I add this behaviour to cowboy_rest and cowboy_websocket?