Update the shebang line to use python2 instead of python

Except for Debian, all the systems where Gnome15 run have python2
as either the executable to python 2 or as a symlink pointing to it.

On ArchLinux systems, the python executable points to a version of
python3.
build: fix check for PIL or pillow libraries

fixes #286
build: remove build of mono icons by default

mono-icons are an extra option of Gnome15 and should not be built
by default.

closes #285
gnome-shell-extension: use a helper method to log messages

A new _log helper method is now used to log messages sent by the
extension.
This helper method prepends 'gnome15-shell-extension' to each log
message so that we can filter the logs easily when analyzing issues.
gnome15-gnome-shell: rename a global variable
gnome15-shell-extension: stop DBus watching when the extension is disabled
gnome15-gnome-shell: add support for Gnome 3.10

closes #290
gnome15-gnome-shell: ensure that screen menu items are in alphabetical order

closes #172
Use XDG directories instead of hard coded paths

Some hardcoded paths were distributed through Gnome15 code.
Those hardcoded paths were refering to directories in "~/.config",
"~/.local/share" and "~/.cache".
Instead of using these hardcoded values, values provided by the pyxdg
library are now used.

Also, three new variables are now available in g15globals to access
the directories used to store Gnome15 configuration, data and cache
files.

closes #278
Cleanup some import statements

Some import statements were using unnecessary " as " statements.
Make usage of g15os.mkdir_p in all the code

To create a full path, sometimes calls were being made to os.makedirs
and sometimes to g15os.mkdir_p.
driver-g15direct: Fix the G510 'Stop' key handling

The keycode that should be sent when the G510 'Stop' key is pressed
is KEY_STOPCD and not KEY_STOP.
KEY_STOP is mapped by default to the X 'Cancel' key while the KEY_STOPCD
is mapped by default to the X 'XF86AudioStop' key.

fixes #291
Update the directories where to search plugins for

Plugins are now also looked up in $XDG_DATA_HOME/gnome15/plugins/
On a future version, $XDG_CONFIG_HOME/gnome15/plugins will be removed.

closes #292
Display exception info when logging exceptions.

refs #269
remove unused import

Almost all the calls to the traceback unit have now been removed.
There's no need to keep importing this unit.

refs #269
Use module name for the logger name.

Each module logger (except for the launching scripts) now uses the
full module name as it's logger name instead of using a hard coded
string.

refs #269
g15os: Directly call the script to be run in run_script

The run_script method used to pass the script to be run as an argument
to the 'python' command.
This command is however not necessary, since all the scripts that are
executed by gnome15 have a shebang line.
weather: update data also even if not displayed

The weather plugin was set up to only refresh itself when its page
was displayed on the device screen.

Operating this way, the user had to have the plugin displayed at least
the value of its update setting before the data was refreshed.
With a "normal" use of the plugin, the user could have the impression
that the data was never updated.

refs #298
g15plugin: fix behavihor when only_refresh_when_visible is False

When the value of G15RefreshingPlugin.only_refresh_when_visible was
False, the _schedule_refresh method was never called.
This meant that the plugin data was never refreshed unless it was
asked to do so explicitely.

This change forces the _shedule_refresh method to be called at the
plugin activation.
The _schedule_refresh method now always schedules a call to the
_refresh method, which will ensure that the plugin data is refreshed if
needed.

refs #298
g19: avoid excessive logging

pylibg19 continually tries to read the values of the G19 special keys.
When the G19 has no data, a "USBError: Connection timed out" exception
is raised.
Previously, we were logging every one of this errors which consumes
resources and does not provide any benefit to debugging.

We now skip this precise error, however if other kinds of USBErrors
are raised, they are logged.

refs #269