Does tomcat need to be restarted in order to use a new servlet uploaded to the "WEB-INF/classes" directory?
Depende se o seu
Does tomcat need to be restarted to read changes to the web.xml in the "WEB-INF" directory?
Depende se o seu
If I put a .class file at /WEB-INF/classes/foo/bar.class should I be able to access it immeidately via "http://www.mydomain.com/servlet/foo/bar" or do I need ot wait for tomcat to recognize this new class file?
Não, a classe estará disponível para o carregador de classe webapp imediatamente, se o seu contexto for recarregável, veja acima.
Or do I have to include it in the existing web.xml servlet mapping file?
Para acessar sua classe (supondo que ela estenda o HttpServlet) via HTTP, será necessário um mapeamento em web.xml
(supondo que você esteja usando servlets http diretos)