minor refactoring of sha1 code

Update code style to better match project. Add more documentation. Add
some C++ specific features to improve compatibility and reduce warnings
with C++ applications. Add original project unit tests to WebSocket++
test suite.
complete and clean up sha1 refactoring

move the remainder of documentation and licenses into sha1.hpp. Remove
unused files.
update changelog