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 :-)
I think the instance var should be called `@digester` (based on the class name) and it would be more readable to use `@digester.digest(target_canon)`