Bob archer sha

SHA code now works with input iterators.
I do not have a Mac and haven't been able to get this compiling fully on Windows at all (Visual Studio, GCC on Windows, GCC on cygwin) so I am relying on feedback from Travis - hence the dumb errors and corrections needed.