Inline setScale in parseScale

This PR combines the `setScale` and `parseScale` functions into one function. I decided to call this "new" function `setScale`, since that seems like the best name considering what it actually does.

This patch should remove any questions regarding why there is currently two different functions involved in changing the scale, and which one should/shouldn't be used.

Fixes #1130.

*PS. My apologies to the reviewer. I know it will be difficult to make sense of the changes without a good side-by-side diff tool.*