[telepathy-ring] Fix possible segfaults with G_DISABLE_CHECKS active

According to the free_assumptions test case, modem code originally
assumed g_ptr_array_free(), g_object_ref(), g_object_unref() and
g_error_free() can be passed NULL safely. This is true unless glib2
is built with G_DISABLE_CHECKS - which is the case of non-devel Mer
build.

This commit ensures no code rely on this assumption anymore and relaxes
the free_assumptions test case.