A resposta simples para (1) é: resolvconf se configura como o intermediário entre programas que fornecem essas informações (como ifup e ifdown, clientes DHCP, o daemon PPP e servidores de nomes locais) e programas que usam essas informações ( como caches DNS e bibliotecas resolvedoras). A partir do Ubuntu 12.04, o resolvconf faz parte da instalação padrão nas variantes de servidor e desktop. Nunca é necessário remover o resolvconf e as pessoas que o removem normalmente não o entendem, geralmente porque não leram o resolvconf (8) e /usr/share/doc/resolvconf/README.gz.
A resposta para a segunda questão é que o resolvconf provavelmente não interferiu no dnsmasq. Meu palpite é que você estava correndo em bug # 959037.
Explicação: No Ubuntu 12.04 existem duas maneiras de executar o dnsmasq. Existe a versão autônoma tradicional do dnsmasq que escuta em todos os endereços. E há o novo processo dnsmasq controlado pelo NetworkManager que escuta apenas no 127.0.0.1. Este último entra em conflito com o primeiro, a menos que o primeiro seja reconfigurado. Este problema foi resolvido no Ubuntu 12.10 fazendo o processo dnsmasq controlado por NM escutar 127.0.1.1 ao invés de 127.0.0.1 e forçando o processo dnsmasq autônomo a escutar somente os endereços designados às interfaces.