Differentiate byte-aligned bitstreams from empty buffer ones

A bitstream with an empty bit buffer is always byte-aligned,
but a byte-aligned bitstream does not always have an empty bit buffer.

Unreading bits back onto the stream can result in the latter.
Fortunately, only ALAC decoding actually unreads bits at the moment.
Fix trackverify output bug under Python 2