**Use case**

#8922

**Describe the solution you'd like**

`bitSlice(s, offset, length)`

s is FixedString or String
the return value has String data type.

Offset starts from 1 for consistency with `substring` and `arraySlice`.
registerFunctionAbs(factory);
    registerFunctionBitAnd(factory);
    registerFunctionBitOr(factory);
    registerFunctionBitXor(factory);
    registerFunctionBitNot(factory);
    registerFunctionBitShiftLeft(factory);
    registerFunctionBitShiftRight(factory);
    registerFunctionBitRotateLeft(factory);
    registerFunctionBitRotateRight(factory);
    registerFunctionBitCount(factory);
    registerFunctionLeast(factory);
    registerFunctionGreatest(factory);
    registerFunctionBitTest(factory);
    registerFunctionBitTestAny(factory);
    registerFunctionBitTestAll(factory);
    registerFunctionGCD(factory);
    registerFunctionLCM(factory);
    registerFunctionIntExp2(factory);
    registerFunctionIntExp10(factory);
    registerFunctionRoundToExp2(factory);
    registerFunctionRoundDuration(factory);
    registerFunctionRoundAge(factory);
    
    registerFunctionBitBoolMaskOr(factory);
    registerFunctionBitBoolMaskAnd(factory);
    registerFunctionBitWrapperFunc(factory);
    registerFunctionBitSwapLastTwo(factory);
}
}