This change makes SourceLocation public and moves some of the undesirable functions off of the class and into the .Legacy namespace.