Shamapnode

This fixes https://ripplelabs.atlassian.net/browse/RIPD-311
Sorry but I've inadvertently erased all of your other comments by acting on them and committing the results.  I don't know how to keep from doing that...

I declined this one as things would just get more complicated because we need to initialize two different types in the for loop.  I think it is simplest as is.