Fix Issue #1161

Previously qsettings.value(…) would return a type QVariant, which would
not concatenate with a string. This forces it to return a type QString.
Perhaps it would be better implemented by a RegEx to pull the reqested
type out of the type(language)?
Fixed Issue #1167

Added the "type" argument to calling qsettings.value(…), forcing it to
return type QString.
Added Variable names

Changed the use of the qsettings.value(…) function to call it by
keyword arguments rather than positional arguments for easier code
readability.
Ignore .DS_Store files
.gitignore plugins
Refactor qsettings.value(…)

```QSettings.value(someKey, someDefaultValue)``` returns a QVariant
item on Mac OS X, Qt 4.8.4, PyQt 4.9.4, which does not concatenate with
strings. The solution I implemented is to include the optional
```type``` argument, either a string specifying the C++ type for Qt
(i.e. ```'QString'```), or a python type (i.e. ```bool```).
Merge pull request #1168 from MatthewWest/master

Fix Issue #1167, Fix Issue #1161, Ignore MacOSX hidden files