This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
Given it's intended to be an internal implementation class, we can move
it into the cpp file to ensure that.
This also lets us move some header dependencies into the cpp file as
well.