FlattenGlobals: Only check size and alignment for non-opaque variables.

For opaque-typed variables leave it as zero sized.

After the 3.4 merge, some libcxx tests with dead
variables have opaque types after linking instead of
having real types. In 3.3 the dead variable did link in
the actual type.

The dead variable would be removed after the FlattenGlobals
pass, but before that it ends up asserting in DataLayout
while trying to determine the size and alignment.

BUG=http://code.google.com/p/nativeclient/issues/detail?id=3804
R=mseaborn@chromium.org

Review URL: https://codereview.chromium.org/220203002

(cherry picked from commit f0bd55f05f08c67577c5db1d08d971b92ca1225e)