I use the Temporary Containers extension and it does much of what you're looking for. I have it set up so every tab is opened in a new container and the container gets deleted when the tab closes. So everything is kept separate from everything else.