Don't segfault when you expunge all messages from the messagelist
When we used owl_list, trying to get an element from an empty list would
return NULL. When we moved to GPtrArray, we dropped this checking,
without dropping the assumption that, e.g.,
owl_view_get_element(v, owl_global_get_curmsg(&g));
works everywhere. This commit adds the logic back in to deal with this
case.
Additionally, don't segfault on things like :unpunt -1.