Added tests for signature generation

@nathany I rewrote things to always sort the attributes so the signature can be tested.  And I also split out the private methods in to a helper and made a test case based on Google's example.  Tested in all Ruby versions. I set up Travis so that should tell that the tests are passing!