Merge 159 and 162

In this PR I will merge the PR #159 and #162 and try to add signature to logout request and response
what about:
```ruby
algorithm = element.attribute("Algorithm").value
algorithm = 'SHA1' unless OpenSSL::Digest.constants.include?(algorithm)
OpenSSL::Digest.const_get(algorithm)
```
to avoid the `case` below?