fix incorrect serialization of long BinLists

BinLists with more than 254 elements are supposed to be serialized as:
 * The byte `255`
 * The first 254 elements of the list
 * The serialized version of the remainder of the list, from the 255th element onward

They are currently serialized incorrectly as:
 * The byte `255`
 * *All* elements of the list
 * The serialized version of the remainder of the list, from the 255th element onward

The resulting bytestrings can't be deserialized correctly.  In particular, I found that the lists of dependencies for some rules were being truncated during deserialization, which broke incremental builds - if a rule made more than 254 calls to `need`, it would not be rebuilt on incremental builds if only dependencies from the 255th and later `need`s were modified.