steam-json: fixed building against >= bitlbee-r1010

With bitlbee-r1010, the internal JSON parser has been updated, which
introduces several breaking changes.

In order to keep things backwards compatible until the next release,
the macro `json_error_max` is used to determine if the newer parser
version is in use. There is currently no other sane way to determine
the parser version.
steam-glib: fixed compatibility implementations

As of glib-2.39.0, g_hash_table_add() now returns a boolean. However,
this is not the issue, this just happened to uncover a rather serious
issue. The way the plugin was overriding missing glib symbols was
incorrect, leading to things being double defined in some situations.

The solution is simple, use the versioning macro in glib, rather than
checking the existence of each symbol.