Develop to Master

This tracks all changes between current develop and master.

A lot of changes have happened, it'd be nice to get a final review of the changes from other eyes.