Instead of FirmwareClass/VersionClass and FIRMWARE/VERSION, have
Firmware and Version classes, and make Firmware::DEFAULT and
Version::DEFAULT be the instance with the default version.
Other minor refactoring cleanups while here to reduce code duplication.