Rename ast::Purity and ast::Impure Function. Closes #7287

Renamed ast::Purity to ast::FnStyle and ast::ImpureFn to ast::NormalFn.
Additionally updated associated variable and function names and test cases.
Fixes #7287