Id and attribute namespace preserving when digesting the nodes

This pull requests fixes two bugs found by me:

1. Incorrect `Id` attributes set when `http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd` namespace is named other than `u`
2. Not preserving existing `u:Id` attribute when digesting the node. It occurs when you need to digest the `BinarySecurityToken` (we're required to do that). Currently gem breaks message validity in such a case.

I've adopted tests to check for these issues.

Please, merge this and publish the new version of gem, as we can't use code from VCS (we're using signer as a dependency for our internal gem and are able to specify published gems only).

P.S> Thank you very much for the signer gem. It's **very helpful**!