std.bitmanip BitArray refactor

I reviewed BitArray and found a few issues:
- constness
- incorrect treatment of "pad" bits
- many places where size_t should have been used.

Incidental fixes:
- https://issues.dlang.org/show_bug.cgi?id=11015
Not, it is actually exactly the same, but the reason to add parens is exactly because it's proven to be error prone.  See:
http://dlang.org/expression#AndExpression
and
http://en.cppreference.com/w/cpp/language/operator_precedence