Replace webhook signature validator

With one that operates directly on the webhook JSON rather than deserialized representations of the JSON.

This is for issue #12, so that new webhook parameters do not immediately break the .NET client libraries.