Candidate code for issue 8 - initialization vector

This is some code to allow clients to specify their initialization vector.

I will admit that there is something strange about the project layout that I'm missing.  I would appreciate a code review and someone more familiar with how the built jars are created to look this over.