Extensive style and naming cleanup
Correct truncation/extension and complement behavior for non-native bitstrings