cleaning up the code and disconnecting signals on unload

Previously I hadn't tested the unload of the extension... turns out a lot was broken. I added quite a bit of code to
clean up any old signals left behind. Also fixed a few minor errors of .destroy() not being defined on some objects.
the extension should unload cleanly now.
version bump
Merge branch 'release/version-1-0-4'
Merge tag 'version-1-0-4' into develop

Cleaning up code and adding more signal disconnects to make extension unload cleanly.