signer works again with string public keys

See https://github.com/namshi/jose/issues/15#issuecomment-67822189
fixing string keys in a better way
adding test for different key formats
cleaning code
Merge pull request #17 from eroux/master

signer works again with string public keys