Python plugin: Fixed several memory management issues

* Fixed a problem with using a function call as argument to Py_XDECREF,
  introduced in my recent cleanup. Due to this being a macro the function
  call was done twice, leading to a crash due to accessing null-pointer.

* Provided a proper copy constructor for Tiled::Map because the generated
  Python relied on it. The default copy constructor was not deep-copying
  map layers, leading to a double-free when the maps were being deleted.
  This avoided the need to keep around references to loaded maps as well
  as the need to clone a map before saving it.

* Don't manually delete references to plugin modules, classes and the
  reference to the Tiled Plugin class. Python doesn't like that so now
  references are decremented as appropriate before calling Py_Finalize.

Some problems seem to remain since valgrind wasn't entirely happy yet,
but I hope it will not crash as often now.
Set the ownership of the MapsDock file system model instance

Poor orphan wasn't being deleted.