ImageCache: Remove cache before modules unload.

Using the atexit module, remove the cache once the python interpreter
begins shutdown, instead of in the ImageCache's del method.
Logging: Add logging support.
Photo DB: Show popup when cant add photo to queue.

Also changed logging info call to warning.
PageManager: Allow multiple instances of a page.

Unloading a page it's also now possible to specify whether it should be
the top or bottom of the stack that's unloaded.
Checkin: Stop pylint checking show.py.

When pylint runs against show.py, the new 'elementary' changes require
an X display connection.
Thread: Add a reminder.
PageManager: Take an elementary window.

This allows for the future use of elementary widgets. Note that 'main'
has also been changed to use elementary initialisation, instead of
ecore.
Pages, Views: Pass the Elementary window down.

The Elementary window is now passed all the way down to the Views, where
they can decide whether they need the Evas canvas or the Elementary
window.
Main: Create main.py from show.py
Main: Clean up main, and main's comments.
Run: Block output for popd and pushd.
Project: Add a HOME constant.
Models: Add a reminder.
Widgets: Add an alias (file) for button.

This alias is used for the FileDescriptor View, since the button is used
to trigger the creation of the file selector.
FileSelector: Create the View.
Run: Fixed input redirection.
Checkin: Files with elementary imports ignored.

Causes errors with pylint. Need to find a fix...