kerberos: fix leak in register_error_domain

In the event a type was not known, we were leaking the
type name.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: refactor register_error_domain

This commit move type class freeing to the
otherside of the "out" label to make the code
robust against potential future changes.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: make enum_class in register_error_domain const

Just as a defensive programming measure.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: fix leak in add_temporary_account

The account description was not getting freed.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: don't free alarm in set_alarm, free in callers

It's a little unexpected that set_alarm "eats" the alarm passed in.
This commit makes it the caller's responsibility to free the alarm
to more closely match typical practice.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: fix leak in reset_alarms

A GDateTime "now" object wasn't getting cleaned up after use.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: fix principal leak in identity_renew

The code carefully freed the principal in all error cases, but then
failed to free the principal in the non-error case!

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: consolidate exit path code in identity_renew

the principal is freed in 3 different places.  This commit
consolidates it to one place for clarity and added robustness
against future changes.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: fix leak in verify_identity

The kerberos API allocates credentials on the heap, when iterating
over a credential collection (for each iteration).

This commit makes sure each of those credentials is freed.

https://bugzilla.gnome.org/show_bug.cgi?id=726353
kerberos: make sure credential cache sequence is always explicitly ended

The code currently fails to pair krb5_cc_start_seq_get with krb5_cc_end_seq_get
in an error case.  This can lead the cursor getting leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=726353