Catch exceptions by reference

We use polymorphic exception objects, so catching by value invokes
the copy constructor and stuff that we don't really want.
diff --git a/win/winvnc/winvnc.cxx b/win/winvnc/winvnc.cxx
index 5623421..43c852c 100644
--- a/win/winvnc/winvnc.cxx
+++ b/win/winvnc/winvnc.cxx
@@ -172,13 +172,13 @@
         // Try to clean up earlier services we've had
         try {
           rfb::win32::unregisterService("WinVNC4");
-        } catch (rdr::SystemException) {
+        } catch (rdr::SystemException&) {
           // Do nothing as we might fail simply because there was no
           // service to remove
         }
         try {
           rfb::win32::unregisterService("TigerVNC Server");
-        } catch (rdr::SystemException) {
+        } catch (rdr::SystemException&) {
         }
 
         if (rfb::win32::registerService(VNCServerService::Name,