Build, Frontend-GNOME: use dbus-sharp-2.0
Travis-CI: build with dbus-sharp(-glib)-1.0
Frontend-GNOME-XMPP: MessageType.Presence* didn't mark chatnodes with event color

HasEvent is only set for the contactlist and groupchats. Private chats are ignored on purpose:
In XmppPersonChatView only the most recent Presence state is shown (or for PresenceOnline nothing is shown). So it could have happened that a contact goes offline and back online, causing HasEvent to be set, but the MessageTextView of the XmppPersonChatView hasn't changed. Therefor the user would not see what has happened and wonder why his chatnode is colored in the event color.
contactlist and groupchats do not handle Presences in a special way, therefor these messages are always visible.
Merge pull request #158 from oli-obk/fix/presence_event_tab_color
Engine-Twitter: fixed build regression on .NET 2.0/3.5
Engine-Twitter: workaround compiler bug of Mono 2.6.7
Engine-XMPP: wasn't able to close unsynced (not fully joined) mucs

in case of long delays this could easily happen
also, regression-danger due to nonexisting chat windows that the server might send messages for
Frontend-GNOME: don't show desktop notifications for active chats
Engine-XMPP: a server<->client race condition could cause a closed chat to be joined

now this kind of chat is automatically closed and an error message is displayed in the protocol chat
this required a refactoring of OnGroupChatPresenceError because that function expected a non-null XmppGroupChatModel
Engine-XMPP: service discovery caused errors that pinged the user for attention

the user can't initiate service discovery manually yet, so there's no reason to tell the user about failed service discovery
only /whois cares about discovered services, but only for displaying.
Engine-XMPP: several logged messages relevant only to devs were logged as errors
Engine: remove empty project folder
Engine-XMPP: contacts were able to modify local roster through nickname changes

nicknames are now only processed if there is a non-empty display name for the contact in the roster that differs from the jid
Merge pull request #161 from oli-obk/fix/logger_errors
Merge pull request #159 from oli-obk/fix/annoying_service_disco_error_messages
Engine-XMPP: regression caused personmodel of personchat not to be updated
Engine-XMPP: presences from self or other resources of oneself caused the contactlist to show oneself
Frontend-GNOME: add missing IntPtr ctors

ProtocolChatView was missing a ctor that receives the raw IntPtr
handle, which was causing the following exception:

GLib.MissingIntPtrCtorException: GLib.Object subclass Smuxi.Frontend.Gnome.ProtocolChatView must provide a protected or public IntPtr ctor to support wrapping of native object handles.
  at GLib.ObjectManager.CreateObject (IntPtr raw) [0x00000] in <filename unknown>:0
  at GLib.Object.GetObject (IntPtr o, Boolean owned_ref) [0x00000] in <filename unknown>:0
  at GLib.Value.op_Explicit (Value val) [0x00000] in <filename unknown>:0
  at GLib.Value.get_Val () [0x00000] in <filename unknown>:0
  at Gtk.TreeStore.GetValue (TreeIter iter, Int32 column) [0x00000] in <filename unknown>:0
  at Smuxi.Frontend.Gnome.ChatTreeView+<FindChatIter>c__AnonStorey27.<>m__42 (TreeModel model, Gtk.TreePath path, TreeIter iter) [0x00004] in /home/knocte/Documents/Code/smuxi/src/Frontend-GNOME/Views/ChatTreeView.cs:388
  at GtkSharp.TreeModelForeachFuncWrapper.NativeCallback (IntPtr model, IntPtr path, IntPtr iter, IntPtr data) [0x00000] in <filename unknown>:0
2013-12-06 22:21:59,165 [Main] DEBUG TRACE - Smuxi.Frontend.Gnome.MainClass.Main()
Smuxi.Frontend.Gnome.Frontend.Init()
Gtk.Application.Run()
Gtk.Application.gtk_main()
GLib.Timeout+TimeoutProxy.Handler()
Gtk.Application+InvokeCB.Invoke()
Smuxi.Frontend.Gnome.GnomeUI+<AddMessageToChat>c__AnonStorey10.<>m__20()
Smuxi.Frontend.Gnome.GnomeUI._AddMessageToChat()
Smuxi.Frontend.Gnome.ChatView.AddMessage()
Smuxi.Frontend.Gnome.MessageTextView.AddMessage()
Smuxi.Frontend.Gnome.MessageTextView.AddMessage()
Smuxi.Frontend.Gnome.MessageTextView.AddMessage()
Smuxi.Frontend.Gnome.ChatView.OnMessageTextViewMessageAdded()
Smuxi.Frontend.Gnome.ChatView.set_HasEvent()
Smuxi.Frontend.Gnome.ChatView.OnStatusChanged()
Smuxi.Frontend.Gnome.MainWindow+<OnChatViewManagerChatAdded>c__AnonStorey1E.<>m__31()
Smuxi.Frontend.Gnome.ChatTreeView.Render()
Smuxi.Frontend.Gnome.ChatTreeView.FindChatIter()
Gtk.TreeStore.Foreach()
Gtk.TreeStore.gtk_tree_model_foreach()
GtkSharp.TreeModelForeachFuncWrapper.NativeCallback()
GLib.ExceptionManager.RaiseUnhandledException()
Smuxi.Frontend.Gnome.Frontend._OnUnhandledException()
Smuxi.Frontend.Gnome.Frontend.ShowException()
Smuxi.Frontend.Gnome.Frontend.ShowException()
Smuxi.Frontend.Gnome.CrashDialog.Run()
Gtk.Dialog.Run()
Gtk.Dialog.gtk_dialog_run()
GLib.Idle+IdleProxy.Handler()
Smuxi.Frontend.Gnome.ChatView.<Sync>m__5B()
Smuxi.Frontend.Gnome.ChatView.OnStatusChanged()
Smuxi.Frontend.Gnome.MainWindow+<OnChatViewManagerChatAdded>c__AnonStorey1E.<>m__31()
Smuxi.Frontend.Gnome.ChatTreeView.Render()
Gtk.TreeStore.SetValue()
Gtk.TreeStore.SetValue()
Gtk.TreeStore.gtk_tree_store_set_value()
GtkSharp.TreeIterCompareFuncWrapper.NativeCallback()
GLib.ExceptionManager.RaiseUnhandledException()
Smuxi.Frontend.Gnome.Frontend._OnUnhandledException()
Smuxi.Common.Trace.CallFull()
Frontend._OnUnhandledException(e = GLib.UnhandledExceptionArgs)
2013-12-06 22:21:59,182 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] Frontend.ShowException(ex = GLib.MissingIntPtrCtorException)
2013-12-06 22:21:59,182 [Main] DEBUG TRACE - [smuxi-frontend-gnome.exe] Frontend.ShowException(parent = (null), ex = GLib.MissingIntPtrCtorException)
2013-12-06 22:21:59,182 [Main] ERROR Smuxi.Frontend.Gnome.Frontend - ShowException(): Exception:
GLib.MissingIntPtrCtorException: GLib.Object subclass Smuxi.Frontend.Gnome.ProtocolChatView must provide a protected or public IntPtr ctor to support wrapping of native object handles.
  at GLib.ObjectManager.CreateObject (IntPtr raw) [0x00000] in <filename unknown>:0
  at GLib.Object.GetObject (IntPtr o, Boolean owned_ref) [0x00000] in <filename unknown>:0
  at GLib.Value.op_Explicit (Value val) [0x00000] in <filename unknown>:0
  at GLib.Value.get_Val () [0x00000] in <filename unknown>:0
  at Gtk.TreeStore.GetValue (TreeIter iter, Int32 column) [0x00000] in <filename unknown>:0
  at Smuxi.Frontend.Gnome.ChatTreeView.SortTreeStore (TreeModel model, TreeIter iter1, TreeIter iter2) [0x00004] in /home/knocte/Documents/Code/smuxi/src/Frontend-GNOME/Views/ChatTreeView.cs:272
  at GtkSharp.TreeIterCompareFuncWrapper.NativeCallback (IntPtr model, IntPtr a, IntPtr b, IntPtr user_data) [0x00000] in <filename unknown>:0
make: *** [run-gnome] Error 1
Frontend-GNOME: add more IntPtr ctors for tree nodes

According to Mirco these 3 classes can also be nodes
of the tree, therefore the same fix is applied to then
as it was applied to ProtocolChatView in [1], to avoid
a possible MissingIntPtrCtorException caused by the
foreach.

[1] 826cebad5ddc2e92d818669e7698d4f1487b843f
Merge pull request #164 from oli-obk/fix/self_contact