(#20989) x86 windows hardware model show i686 not i1586

Currently hardware model uses the cpu level when
using 32 bit windows on x64 capable hardware. The
actual architecture is i686 even though it might be
showing as i1586 if the cpu level is 15.

Based on my research on this, all levels above 6
should show the i686 hardware model. i1586 or i1186
would be a misnomer.

This fix adds a check to determine if the cpu level
is over 6 and then responds by setting the
architecture_level (new) to 6, otherwise it uses the
cpu level coming back from the windows processor
query.

Note this only affects windows hardware.