add some basic sanity tests for signatures and key generation

Signing a message with ECDSA involves using a random number, and this means
that two signatures should never be the same. This commit adds some basic tests
to Key.signSync and Message.sign to make sure this is the case. Also, a new
bitcore.Key should never have the same private key twice. This commit also adds
a basic test to make sure that is the case.
Merge pull request #310 from ryanxcharles/feature/signature-sanity-tests

Signature and Private Key sanity tests