Allow the auto-save thread to free-run.

Now that we're almost always running on a multi-core device, there's
little reason not to just run the auto-save thread whenever we want.

This also will make some of the new save stuff simpler.
Introduce new save location system.

While only used for saves at the moment, this system will eventually
let us use multiple locations.

This also introduces the SaveRecord object, which is where save data
is stored before we write it to disk.
Save to multiple locations.

The new MultiLocation lets us save to multiple locations. We now save
both to the user's save directory and a game-local save directory.

Also, refactored the save location in FileLocation into its own
method.
Fix analysis problems caused by Persistent move.
Merge branch 'devel' of github.com:renpy/renpy into devel
No longer require the key exist for SetDict.
Deal with python compile errors that contain non-ascii characters.
Test if a save location is active.

If we're installed to Program Files on Windows, the game-specific save
location is disabled since we can't write to it.
Properly deal with percent-subtitutions in extend.

Fixes #150.
Make save scanning use locations.

This involves routing save slot listing and mtime/extra_info/screenshot
creation through the location system.
Use the location system for load and can_load.
unlink, rename, and cycle_saves now use the new location system.
Move the savelocation stuff into its own file.
Add a thread for scanning save locations.
Implement the scan thread for FileLocation.

The scan thread will scan the directory, getting mtimes. If a file
has changed its mtime (or appeared or disappeared), we clear out
the cached slot.
Restart the interaction when a save cache slot changes.

This means that the load/save screens will live update when
a savefile appears or disappears.
Fast skipping skips over renpy.pause.

Also, modified Skip(fast=True) to be enabled even if we haven't
read through the current scene.
Add config.default_language, a non-sticky way to change the language
the game uses.
Implement config.auto_voice.

This uses the translation ids to look for a voice file, and
if found, plays the appropriate voice file.
Add the _auto_voice screen, which displays the file that the auto
voice system is trying to play.