CodeGen: FieldMemcpyizer didn't handle copies starting inside bitfields

It's possible to construct cases where the first field we are trying to
copy is in the middle of an IR field.  In some complicated cases, we
would fail to use an appropriate offset inside the object.  Earlier
builds of clang seemed to miscompile the code by copying an insufficient
number of bytes.  Up until now, we would assert: the copying offset was
insufficiently aligned.

This fixes PR21232.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219524 91177308-0d34-0410-b5e6-96231b3b80d8