using BitSet for indent levels for performance

Originally submitted as part of one big PR #136