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.
So I'm confused why you have multiple listeners for delegate messages, when you could easily receive them via this listener and distribute them to the appropriate places. You can get the routing key used by creating a handler function with arity-3, where the 3rd arg is the routing information (including the routing key used). I'm not opposed to the three listener strategy, just curious why you went with it?