Suppress more warnings for MSVC
Summary:
Several other warnings that aren't reasonable to disable globally occur in folly headers.
- Wrap the unreachable code warnings in MSVC specific disable blocks to prevent problems for users.
- Use more careful bit twiddling instead of negating unsigned types
- Enable a simpler overload for bool->float conversion than one which attempts float->bool.
- Delete one unneeded undef.
Reviewed By: yfeldblum
Differential Revision:
D4891583
fbshipit-source-id:
4d2efda1fe720abcb083bf29b578c065127cda24