Add JSON deserializer yajl callbacks

This PR adds the JSON deserializer yajl callbacks with implementation.

Please review and tell me what is missing and what can be
optimized here.
So this doesn't make _any_ sense at all.

You carefully assemble an array of statements in this module, but instead of assembling it in a way which would allow you to pass it to `ws_transaction_new()` directly, you just push __each one of them, one at a time__.
Please fix this, by either:
 * havign an array of statements instead of sttement pointers, feeding them to the constructor directly and removing `ws_transaction_push_statement()`
 * assuming that a message is a transaction if it includes commands, construct it, and push the statements directly

Both of these options are viable, but a mixture of those two options, which you choose to implement, is a pretty example of why compromises often lead to ridiculous and inefficient solutions.