Assuming these are plaster walls you should use a paint with very high solid content and water it down for the first coat. A paint like this is available from Ray Munn on the Fulham Road, I don't know where else or what it's called but I always have 2 pots of it one diluted to 50% for the first coat and one diluted with 20% water for the top coat. It's the best white paint I've ever used for finishing ceilings without roller marks. If you ring them they can tell you what it is.
Problem you have loading the walls with a trade emulsion is drying time and issues from too many layers not completely drying. There is a super matt paint from Dulux that I used prior to the Ray Munn paint being released or Johnstones trade was a cheaper favourite. They will do the job on darker colour but it's always going to take time to cover.
The term primer is usually used to describe woodwork paints and they do have more stain sealing properties. Zinsser Allcoat is a self priming paint normally used for woodwork, I can't think of an example where it would be the best choice on walls. The Zinsser primer you could use although it would be expensive and overkill would be Zinsser 123 plus, I wouldn't do that unless you were trying to cover water stains in which case Zinsser cover stain would be a better choice. All the Zinsser primers will block the underlying color more effectively than emulsion though but at a cost.