Implement satN2 with new BitVector functions
Fix 'shiftR' in Unsigned

Was erroneously implement using a shiftL
rename BitVector split to split#
Expose Signed, Unsigned, BitVector, and Index, constructors

Constructors are marked as Internal and not synthesisable