Refactor common functionality to CauldronSessionHandler

Extracted out of CauldronAdvertiser & CauldronBrowser