[ms-abi] Fixing CGRecordLayoutBuilder w.r.t. MS NonVirutalBase Layout


The MS abi lays out *all* non-virtual bases with leading vfptrs before
laying out non-virutal bases without vfptrs.  This guarantees that the
primary base is laid out first.  r198818 fixed RecordLayoutBuilder to
produce compatiable layouts.  This patch fixes CGRecordLayoutBuilder to
be able to consume those layouts and produce meaningful output without
tripping any asserts about assumed incoming layout.

A test case is included that shows CGRecordLayoutBuilder in fact
produces output in the compatiable order.