fix : some user cannot use certain Freeseer tools that make use of setplaceholdertext(). Because their version of PyQt4 is too old.
 if hasattr(QtGui.QLineEdit(), 'setPlaceholderText'):
Merge pull request #296 from hosi-mo/fix/pyqt4.7.3_2

fix: Check for existence of setPlaceholderText was checking for exact version

- Fixed the check for Qt method setPlaceholderText() was checking if 
  the user had exactly python version 4.7.3, instead we are now
  checking the property exists.
Optimize how PluginManager loads it's decorators

- Set a change trigger to auto-save when config change is detected.
Remove unnecessary modules
Should use docstrings when possible
Support both interactive and shell modes
Closes GH-236 Create base Freeseer GUI App class to maximize code reuse

A FreeseerApp() base class has been created which handles languages
and the menu bar in Freeseer applications.

The following tools have been modified to use a common base class:

    - ConfigTool
    - RecordTool
    - TalkEditor
    - ReportEditor
    - FreeseerServer
GH-298 French Translation completeness
Update translations files with new strings
Update language translations and resource files
Closes GH-300 Translations don't seem to load for the Controller Client
Add classifiers to setup.py

- Also set the author to "Free and Open Source Software Learning Center"
Fix tabs
Remove unnecessary code