add a mandatory "report_version" property to device reports
cpu_type is made optional in reports and nullable in the database
allow supplying a sample (passing) device report to the hardware_product creation and update endpoints, to infer data where we can from that report rather than having to supply it diirectly (direct overrides are still allowed)
closes #1086.