do not report yet violations if guithread is not set yet

Without this change, the call to Gtk.Application.Init() would
be reported as a violation itself.

(Detected, and bugfix tested, in MonoDevelop & Banshee)
micro-optimization: return early after setting guithread

No need to compare thread ids in this call.
Merge pull request #1 from knocte/do_not_report_gtk_init_itself

do not report yet violations if guithread is not set yet
Merge pull request #2 from knocte/micro_optimization

micro-optimization: return early after setting guithread
Add two more methods to the whitelist

At application shutdown, it's very likely to be spammed by
gui-thread-check with a river of:

*** GTK CALL NOT IN GUI THREAD: Widget.Dispose
*** GTK CALL NOT IN GUI THREAD: Widget.remove_InternalDestroyed
*** GTK CALL NOT IN GUI THREAD: Widget.Dispose
*** GTK CALL NOT IN GUI THREAD: Widget.remove_InternalDestroyed
...

From what I gather, these two methods (in gtk-sharp master[1]) could
be called by the finalizers, but do not call any unmanaged functions,
so it should be ok to not report them as violations.

[1] https://github.com/mono/gtk-sharp/blob/master/gtk/Widget.cs