KAZOO-2560: Camp-on feature

fixed pill request's issue, rebased to master

James, we've thought about your response about sending messages through AMQP and about pivot example. We think we see more generic approach here for calling apps from callflows.
We've added wapi_cf_delegate.erl for this. It resolves dependecies problem for callflow and apps. Please check if it suites well.
I don't think "callflow" is needed in the routing key. Just `delegate.{APP_NAME}` should be sufficient, with Key being optional, since some apps won't need it (like pivot).

So cf_pivot would call something like `wapi_delegate:publish_delegate(API, <<"pivot">>)`, cf_conference would call `wapi_delegate:publish_delegate(API, <<"conference">>, <<"moderator">>)` or `wapi_delegate:publish_delegate(API, <<"conference">>, <<"participant">>)` or whatever.

Thoughts?