Create an interface for signature to allow other types of implementation

This is more to help on the older codes or to enhance security.

For example, using a differently hash function or change the delimiter character.

In my case, I had to implement the signature on Android and iOS. To save time I used a previous implementations of oauth1 as the basis of my classes. So I changed the signature to SHA1 and delimiter to &.