BitField fixes

Fixing* a fairly dangerous API oddity pointed out by @kayru, as well as some warnings (of which I'm not sure if they were new or only introduced by the previous fix), and added a small getter value for convenience (.. not really useful for anything Dolphin does currently, but it has proven to be very useful for Citra).

(*) "Fixing" = abuse gcc and clang to error out compilation if a copy assignment operator is used with BitField, because MSVC doesn't support unrestricted unions, which are necessary to implement sane copy assignment.