Introduce base::is_trivially_copyable and use for bit_cast

bit_cast had some one-off preprocessor logic to check or not to check
for the types being trivially copyable that ended up not being enabled
at all on windows.

Since most of our platforms are now C++11 make that the norm and cover
the various edge cases via base::is_trivially_copyable. Then bit_cast
can use that and will be able to static_assert for this on all platforms.

R=dcheng
BUG=555754

Review-Url: https://codereview.chromium.org/2583353002
Cr-Commit-Position: refs/heads/master@{#440491}
3 files changed