anchor/libmarquise — pull request #19 by barneydesmond (2014-09-26 10:18:27+00:00)
Title: Assign correct addresses to spooled sourcedicts (squash simple and extended to same address)

**Caveat:** This PR should only be used if we determine that the correct behaviour is to follow the official Marquise client, and squash all sourcedict addresses to LSB=0. If so, this is a minor change with no knock-on effects. If not, a major change is needed, and this PR should be discarded (use the other one).

We've identified a problem with the way that sourcedicts are stored in
the vault. Normally, we generate an address and pass it along with
points and sourcedicts. For simple points, the address gets coerced to
an even number by setting the least significant bit to zero. Extended
points have their LSB set to one.

The same is not happening for sourcedicts. This means that it's possible
for data points and their associated sourcedict to be stored at
different addresses. This is bad, because we can enumerate the
sourcedicts, but won't necessarily find data points at the corresponding
address.

We've determined that the correct behaviour, at least if we follow the
"official" Marquise client, is to set the LSB of all sourcedicts to
zero.

This represents a minor change with no other repurcussions on other software.