Simplify BitVectorLattice.
Simplify BitVectorLattice.

Summary:
Currently, when BitVectorLattice uses the opposite lattice sometimes it implicitly converts the encoding back to the lower lattice and sometimes it does not. This is a leaky abstraction where opposite lattice has to understand how it's used to work.

This diff makes BitVectorSemiLattice completely uniform, and BitVectorLattice only uses semi-lattice opaquely. This is required before BitVectorSemiLattice can dictate its own encoding and operation.

Reviewed By: yuxuanchen1997

Differential Revision: D37775180

fbshipit-source-id: 4640c7621bcadd6891cfbf90495d7ca54ba0ac9f

facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex