Allow to sign with another digest algorithms

I've made next changes:

1. Allow to specify digest algorithms for node digesting and signature independently.
2. Predefined three algorithms (SHA1, SHA256, and GOST R 34.11-94) with identifiers for use in XML.
3. Added possibility to specify your own algorithms (see README.md and lib/signer/digester.rb)
4. Added possibility to change signature algorithm identifier
5. Detect GOST keypair and set signature digest algorithm and signature algorithm identifier appropriately

I've added single test for SHA256. (Testing for GOST is difficult as patched Ruby is required).

Identifiers for SHA256 I've found in this gem fork here: https://github.com/AnyPresence-Services/signer (see [network](https://github.com/ebeigarts/signer/network))

Identifiers for GOST I've found in GOST-signed answers from service we're working with :-)
Ok, I see that it is set in the `initialize`, but if both of those are set in initializer, then it means that `sign_digest_algorithm ` and `signature_id ` will be always set. Why is this needed then?