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.
- Cast to signed types to perform integral negation before casting back to unsigned for bit operations.
- Enable a simpler overload for bool->float conversion than one which attempts float->bool.
- Delete one unneeded undef.
(Note: this ignores all push blocking failures!)
Reviewed By: yfeldblum
Differential Revision:
D4805628
fbshipit-source-id:
9574ea984e1e3daca01101259687f46effcf3a9f