fix state update problem for digests
fix state update problem for digests

We need to update the amount of data in the buffer even after we've
consumed all the data.  Otherwise, we can run into a situation where we
had N bytes buffered and update with (blocksize - N) + blocksize bytes;
we consume all the buffered data and the provided data and there's
nothing left in the buffer.  Fixes problems introduced in
15a5721f2ecd19efd3d297f472ff0e7068a3e8c7.

eadmund/ironclad,sharplispers/ironclad,froydnj/ironclad,glv2/ironclad