Use long to express continuous value in rule

+ BSAttrs as the attribute list for BitStringRules, stores all
information BSR needed.
* Use long to express continuous value in rule instead of using double,
but BSAttrs keeps the exponent (10 based), so the long can be converted
to double conveniently