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 might do this map more along the lines of:

```
AccountDb = whapps_call:account_db(Call),
[get_device_sip_username(AccountDb, DeviceId) || DeviceId <- Targets].

-spec get_device_sip_username(ne_binary(), ne_binary()) -> ne_binary().
get_device_sip_username(AccountDb, DeviceId) ->
  {'ok', JObj} = couch_mgr:open_cache_doc(AccountDb, DeviceId),
  wh_json:get_value([<<"sip">>, <<"username">>], JObj).