I've always interpreted the 'scrum master' role as the person on the team that is both the process expert and senior enough to be able to generally coach others and help unblocking issues. Ie. one of the senior devs on the team that has been interested enough to learn the scrum agile process, but who takes on the role can change depending on circumstances.
But obviously this means it's not a dedicated role and so a missed 'opportunity' to create more "manager of something" roles, especially for project managers who feel threatened.