Explicitly declar ivars to support 32-bit binaries.
Add convenience category for gzip compression.
Delete superfluous file from migration.
Ensure range data is valid before using.
Adopt NSCoding with option for compressed storage.
Fixed compression support for bit arrays.
Fix a number of issues with NSCoding support. Create only bits or children, not both.
Rework sparse arrays.

Break sparse bit array class into two, making sparse array semi-abstract superclass. Introduct new sparse array subclass, sparse sample array. Add BASampleArray protocol, to which BASampleArray and BASparseSampleArray classes conform.
Fix memory leaks and improper use of nil values in synchronized block.
Make BABitArray protocol to help ensure consistency between BABitArray and BASparseBitArray interfaces.
Implement leaf index calculations for arbitrary sparse array dimensions.
Add a comment explaining the recursive leaf index calculation functions.
Re-write the comment for clarity.
A detailed description of how leaf index coordinates are calculated from multi-dimensional grid co-ordinates, and guidance for how to support negative co-ordinate values.
Fix incorrect calculation in assertion.
Revise sparse array support for automatic block execution in response to changes.
Add support for copying a range of bits to or from an array of BOOLs.
Support for reading out a range of bits as data, and initializing using a range of bits in another bit array.
Some changes to improve clarity of code.
Support for reading and writing a range of samples at a time.