Switch to #pragma once for all headers.

Non-standard, but supported everywhere that matters, so it ends up
being safer for the most part.