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 :-)
In GOST case I want to rewrite these settings (they're will become
incorrect otherwise). What should I do in `else` case I don't really know.
May be nothing, just insert remark like "insert some code for other
non-common key types". Or, may be I should to overwrite them too (if you've
changed certificate, your earlier changes in algorithm and identifier may
become invalid, set it again please).