added templates for very basic extensions

One of the development goals of the Commotion_client (commotion-computer to the savvy) is to make extension of the toolkit as easy as possible for other developers. As such, this branch will focus on building a set of templates (shown in this commit) and extending them to create a full commotion core module.
Adding emacs auto-saves to .gitignore
Work on extension writing focusing on intro and Qt Designer

This work includes adding some base assets to QT designer to support our core Commotion styles.
added some extra functionality to main template.

main.py will now create a simple working window after very little modification. This should increase usability.
I don't knoiw why I had that half template anyway
added extended filled question mark sizes
continued writing tutorial through ui creation

Created a config file for the tutorial object, a main.py fil that does nothing, and a full GUI (with the desperate need for the final application text to be completed.
added creash and error signals to template and tutorial
added a basic commotion form stylesheet
Prepared main_window for loading extensions

Moved setup functionality into modules and added a basic welcome page as the first extension loaded
Changed custom exit function name to not overwrite default exit function
added clean up functions to tutorial files
added viewport clean-up and swap functions
added clean up functions to welcome page
replaced exception log.debug logging with log.exception calls
cleaned up exception handling

Added proper logging and removed unneeded global exception handling
added extension manager core

Extension manager created with core functionality to load an installed extension, get a section from a extension, and check the installed extensions.
added proper usage of default values to settings loading.
Fixed filename to == PEP8
added a config file validation object