asynchronous fetch of channel list
This series fetches the channel list from the server asynchronously in the background at startup. Users should be able to interact with the scope while the channel list is being fetched, but once it's fetched any new channels being added to the scope will be checked against the list first before being added.