bitstream: unify resetBits() and clear() methods

There's no point in having a virtual resetBits() method in the abstract class
and then not implemeent in the derived class but make a second method with
identical semantics.  What the heck?
move bitstream implementations into common
fix msvc build warnings