std::libc moved to its own crate
Array indexes are unsigned now
The Digest buffer should public (fields are private by default now)
Avoid casting by starting with unsigned range()s
marshal: use stack based closures rather than malloc()ed proc()s

This is more appropriate in general, even though there seems to be no
difference in an optimized build.